Liste des Groupes | Revenir à c arch |
On 9/15/2024 2:09 PM, David Brown wrote:What do you mean by that? ARM currently has perhaps 90% of the market for small embedded systems, and gcc is used for development on perhaps 85% of those systems. Major non-ARM microcontroller cores include AVR, RISC-V, ESP-32 and the undying PIC16x and 8051 cores. Only the last two there do not have gcc ports, but those devices have almost died out of the market for new designs. clang is still the "new kid on the block" for small-systems embedded development, and has not yet made a big impact. And of course there are a range of high-price commercial toolchains that are very popular in some areas, but not a big fraction of users overall.On 14/09/2024 04:39, BGB wrote:I use it fairly often.On 9/13/2024 10:55 AM, Thomas Koenig wrote:>David Brown <david.brown@hesbynett.no> schrieb:>>>
Most of the commonly used parts of C99 have been "safe" to use for 20
years. There were a few bits that MSVC did not implement until
relatively recently, but I think even have caught up now.
What about VLAs?
>
IIRC, VLAs and _Complex and similar still don't work in MSVC.
Most of the rest does now at least.
>
Thanks - you know it far better than I do.
>
Mostly VS2022 at present.
Albeit, ones with semi-popular CPU architectures.>>There are only two serious, general purpose C compilers in mainstream>
use - gcc and clang, and both support almost all of C23 now. But it
will take a while for the more niche tools, such as some embedded
compilers, to catch up.
It is almost impossible to gather statistics on compiler use,
especially with free compilers, but what about MSVC and icc?
From what I gather:
GCC and Clang are popular for most mainline targets;
GCC is the dominant C compiler on Linux.
It is also far and away the dominant compiler for embedded systems - both embedded Linux and small embedded systems.
>
Though, GCC and Linux kinda go together here.Small embedded systems don't run Linux. And the people developing for them usually do so on Windows, not Linux. So in the embedded development world, gcc dominates, Linux does not. (But for embedded Linux systems, gcc dominates.)
Say, one isn't going to find Linux ported to targets outside the scope of GCC,True.
and GCC isn't too interested outside the scope of targets that could potentially run Linux and see at least semi-widespread use.False.
With all respect to the regulars here, most people in technical Usenet groups are either old, unusually nerdy, or both. They are not representative of developers. And while I think SDCC is a very impressive project and it would be my own first choice if I were working with brain-dead 8-bitters, its popularity is close to negligible. And that is in a market for 8-bit cores that is rapidly disappearing..OK.TinyCC, popular for niche use, but limited range of targets;>
x86, ARM, experimental RISC-V.
SDCC, popular for 8/16 bit targets;
SDCC has never been very popular. For the targets SDCC support, Keil (8051) and IAR (many small CISC targets) are far more common. But for these kinds of devices, you are never working in anything close to standard C anyway.
>
I had mostly heard of people using SDCC here.
It is not a "crowd" - it's a small group of oddballs and enthusiasts. I fully support them, and playing with these things is a great hobby. I would maybe be doing that too, if I had twice as many hours in the week. But talking about "popular compilers like gcc and CC65" is like talking about "popular sports like football and Inuit ear pulling contests".This is mostly for the crowd still messing around with a few older systems:CC65, popular for 6502 and 65C816;>
That's getting /really/ obscure now. There are thousands of C compilers that are used, or have been used, for various microcontrollers. But if you sum all their uses over the last decade, it will not be close to 1% of the total use of C compilers.
>
Commodore 64/128
Apple II / II/C / II/E
Apple IIGS
NES and SNES
...
Also, some newer projects, like the "Commander X16" are also using CC65 (it was based around a 65C816 being used in a 6502 compatibility mode).The GCC community would be quite happy to support such targets, but someone would need to make the port. And the architecture of the gcc compiler suite is best suited to processors with reasonably regular and orthogonal ISAs with plenty of registers and at least 16-bit width - getting good results for a cpu like the 6502 from gcc would be an extraordinary level of effort. It makes a lot more sense to look at tools like SDCC with an architecture that fits better.
Where, AFAIK, GCC proper has little interest in these targets.
Les messages affichés proviennent d'usenet.