• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

C programming language Question

Netbeans and eclipse are probably the more full featured ides.

Visual Code has some minimal support for C. That might not be a bad place to go.

And finally you can use some basic text editors like sublime, atom, vim, notepad++. They can get you a good portion of what you might want for C development.

On linux, there is QT Creator and KDevelop. Those aren't bad choices.

As for paid. CLion is the only cross platform paid solution (and I've heard good things about it).

Visual studios doesn't have great support for C, but is pretty good for C++.
 
I am looking for a good/free C IDE to code in. Looking for a IDE in WIndows and Linux for C.

On Windows there's Visual Studio which will hands down be the best IDE. You can get the community edition for free.

Visual studios doesn't have great support for C, but is pretty good for C++.

2015 has pretty good support for C99 (C99 support started in vs2013). This comes from C99 being required for C++11 support.
 
If you like Notepad++, try Notepadqq in Linux. It's nice to see that MS has slowly moved forward with its C support. 😛
 
The true IDE for C is Emacs. When I started real programming, my mentor told me to switch (from vi) to Emacs. He said I wouldn't regret it. I didn't. Emacs is still relevant. It's available everywhere. I use it on Windows (but not to program, just to edit files). I use it on Cygwin (which is a Unix environment inside Windows). And I use Emacs professionally in a Linux environment (developing real-time embedded software).

That being said, the majority of my colleagues seem to prefer Eclipse on Linux to get their work done.
 
When I started real programming, my mentor told me to switch (from vi) to Emacs. He said I wouldn't regret it. I didn't.
You switched from vi to Emacs? Ban the heretic! 😛

Vi, ViM, and GVim aren't IDEs. But I would point out that you don't need an IDE to do coding either. I usually edit in a GVim, compile in one command window, and run the code in that or another command window.

Of course, if you insist on using your mouse to move your cursor everywhere, you could use another editor, like Notepad++ in a non-integrated development environment.
 
Question: Is there a decent free C or C++ compiler for Windows console programming? No IDE needed. No GUI programming. I just want to knock out some utilities for working with my music and movie libraries. I've been using vbscript for this for years, but it's clunky and difficult to do many things. One thing I need is to be able to work with MySQL and SQLite databases.
 
Question: Is there a decent free C or C++ compiler for Windows console programming? No IDE needed. No GUI programming. I just want to knock out some utilities for working with my music and movie libraries. I've been using vbscript for this for years, but it's clunky and difficult to do many things. One thing I need is to be able to work with MySQL and SQLite databases.
Will cygwin fit the bill?
https://cygwin.com/cygwin-ug-net/programming.html

Python or Perl may also fit your needs if you aren't married to C/C++
 
Question: Is there a decent free C or C++ compiler for Windows console programming? No IDE needed. No GUI programming. I just want to knock out some utilities for working with my music and movie libraries. I've been using vbscript for this for years, but it's clunky and difficult to do many things. One thing I need is to be able to work with MySQL and SQLite databases.
Cygwin is a bit clunky compared to MinGW. On the other hand, MinGW's license is a little complicated if you want to distribute binaries.

And, then, whatever happened to Ubuntu under Windows 10?

Python or Perl may also fit your needs if you aren't married to C/C++
This.
 
Reason for C or C++ is that I'd like to create compiled/canned utilities, which is less handy with a scripting language requiring someone to install the interpreter and possibly some external utilities. I'd like to say "Here's a little program that will transcode your Flac library into Mp3" rather than "install this version of Python and make sure you also have this version of flac.exe and this version of LAME".
 
There are always JVM scripting languages like Groovy, Closure, JPython, or JRuby. Almost everything has a JVM on it now-a-days and it is pretty easy to bundle up all of the dependencies.

Another option for scripting languages is to bundle the interpreter in with the script. There are plenty of ways to get that done if you want.
 
No Java on my machine. And I'll never install that junk again. The OP has a point if he wants to distribute his software in the form of a simple binary (.exe). That's what I prefer too.

I don't think Cygwin is a good idea. I use Cygwin, I like it. I have it installed on both my home Windows machine (which is primarily set up for gaming) and my work-laptop. I do my development on Linux desktops. The problem with Cygwin is that if you want to give executables to others, those people will have to have Windows+Cygwin too. Not very likely.

What you could do is use Cygwin for development and testing. And when your code runs, copy the source to a Linux box, compile there, and distribute the resulting executable. However, you probably will have to deal with a bunch of portability issues. (The Unix/C environment on Cygwin looks a lot like Linux, but there are differences. You will run into those).

So the questions you must ask yourself are:
1) is it really important that I can distribute my software to as many people as possible ?
2) do I want to distribute my software to only Linux-users, only Windows-users, or both ?
3) only then you can start thinking about your development tools.

I have no experience with Eclipse on Windows. (As I mentioned, I use Emacs/make on both Linux and Cygwin. I don't write code for Windows). But if Eclipse works reasonably well on native Windows, then I'd start trying to use Eclipse on Linux and Windows (not Cygwin).
 
You dont have to install java to use it, just ship the utilities with an jre of you choice and be done.
If your tasks are performance oriented i'd stay clear of the dynamic choices(i always do .. hippie crap 🙂).
I'd probably stay with c++ if I was you (write it up as C in a C++ env. if you want.. hard to write C on windows unless you're talking C89 stuff).
 
Cygwin is a bit clunky compared to MinGW. On the other hand, MinGW's license is a little complicated if you want to distribute binaries.

It should be worth noting that msys2[1] is the preferred method for using mingw now. Furthermore no one is using the original mingw anymore (at least you shouldn't be). Everybody has since switched to mingw-w64[2] which can be easily installed through msys2's package manager.

Cygwin is kind of a separate beast and using msys2 is probably preferred to that as well because of the package management that msys2 provides.

[1] https://msys2.github.io/
[2] https://mingw-w64.org/doku.php
 
Back
Top