GCC?Good for command line. I have an old version of GCC 3.45 from MinGW. What is the newest one? Cygwin perhaps?
Visual Studio Community Edition if you want it for windows -> https://visualstudio.microsoft.com/vs/community/Good for Windows GUI. Downloading. Thanks
Are you sure you want VLA in C?
https://blog.joren.ga/vla-bad (https://blog.joren.ga/vla-bad)
GCC?Good for command line. I have an old version of GCC 3.45 from MinGW. What is the newest one? Cygwin perhaps?
Are you sure you want VLA in C?Sorry, but the undefined behaviour in the very first example* immediately segfaulted my interest and I did not go further.
https://blog.joren.ga/vla-bad (https://blog.joren.ga/vla-bad)
the MS comand line tools, which, BTW, you can also install without Visual Studio IDE.Technically correct (the best kind of correct :-+).
the MS comand line tools, which, BTW, you can also install without Visual Studio IDE.Technically correct (the best kind of correct :-+).
But since VS 2017 (IIRC) one cannot install them if they don't have a valid Visual Studio license.
This means they have exactly the same license restrictions, and the only way to get a VS license is (AFAIK, and apart buying one of the professional packages) downloading VS Community.
Do you mean that the build tools once could be used for free without licensing restrictions before 2017?As mentioned, I'm not so sure about the VS revision that brought the change, but, yes, their license was much more liberal before (as much that I had no qualms installing them at work, and I am very careful about these issues).
That said, in that case, I would certainly use GCC and ditch VS tools.
That said, in that case, I would certainly use GCC and ditch VS tools.
Visual Studio Community is a very powerful, complete and free as in beer IDE - I happen to like it a lot - make sure to comply to the license requirements, if you intend to use it at work: at home, or < 5 employees you should be fine (IANAL, TINLA).
The quality and standard conformance of the Microsoft C/C++ compiler has improved a lot in recent years, though, for the latter, there are no standard C89 or C99 conforming modes (only C11 or C17).
Another fine alternative is LLVM/clang, free as in Apache licensed and with an MS C compiler mode (at least, same options). I used VS to compile it ;).
It might also be important to keep in mind, that regardless of what the target platform is, today 90-95% of the actual everyday application develoment is done in Visual Studio under Windows. Everything else is used as a final-stage integration and QA tools. Nobody develops with GCC, if we ignore statistical noise.Really? What ass did you pull that assumption from?
It might also be important to keep in mind, that regardless of what the target platform is, today 90-95% of the actual everyday application develoment is done in Visual Studio under Windows. Everything else is used as a final-stage integration and QA tools. Nobody develops with GCC, if we ignore statistical noise.Really? What ass did you pull that assumption from?
I'll grant you Windows application development and phone apps (Android and iOS) is done in Visual Studio under Windows, but that's it.
... without any of the gpl problems Qt brings to the table.
... without any of the gpl problems Qt brings to the table.
What are you talking about? Since when Qt brings gpl problems to the table?
The opensource edition of Qt is LGPL licensed which means you can freely use it in all kind of programs including
closed source and commercial programs without the need for an additional license or to pay a fee.
The only exceptions are: when linking static with the Qt libs and/or when you modify the Qt libs.
In the latter case, it suffice to opensource only the modifications of the Qt libs.
You need a commerical QT License for each Developer, if you want to make a living from your work.
... without any of the gpl problems Qt brings to the table.
What are you talking about? Since when Qt brings gpl problems to the table?
The opensource edition of Qt is LGPL licensed which means you can freely use it in all kind of programs including
closed source and commercial programs without the need for an additional license or to pay a fee.
The only exceptions are: when linking static with the Qt libs and/or when you modify the Qt libs.
In the latter case, it suffice to opensource only the modifications of the Qt libs.
Don't believe their b*llsh*t.To be honest, there is very little bullshit on the Qt site.
The Qt open source licensing is ideal for use cases such as open-source projects with open source distribution, student/academic purposes, hobby projects, internal research projects without external distribution, or other projects where all (L)GPL obligations can be met.
Accept Digital Rights Management terms - Accept Digital Rights Management terms, please see the GPL FAQOn this page (https://www.qt.io/download-open-source).
And please remember that VLAs are an optional feature in C11. Yu should test if your compiler has it before using it.That's one of the reasons MS compiler does not declare C99 compliance, but does (better, and with explicit command line support) with C11/C17.
Are you sure you want VLA in C?Sorry, but the undefined behaviour in the very first example* immediately segfaulted my interest and I did not go further.
https://blog.joren.ga/vla-bad (https://blog.joren.ga/vla-bad)
int main(void)
{
double ThisWontEndWell[500000];
...
return 0;
}
Don't believe their b*llsh*t.To be honest, there is very little bullshit on the Qt site.
Think about this: if LGPL'ed libraries couldn't be used by closed source (commercial) programs, then they couldn'tYou don't need to convince me: my point was only that the site has quite clear indications of the various license regimens, and does not try to hide the FOSS ones.
use, for example, printf() provided by glibc on Linux.
I've worked for many years as an internal FOSS product owner, and as a go-to person (before legal, which is always needed) for FOSS licensing.Maybe I should have added "...using it in our proprietary SW".
BTW, the product was LGPL, and we were both heavily contributing and making money by using it.
If you want to make a living from your work, you need a commerical license.No. This has been discussed before, but heck, why not, let's repeat.
You can only distribute your App, if you have a valid license subscription.
Over 4500$ for each developer and a one year subscription!
https://www.qt.io/pricing (https://www.qt.io/pricing)
You don't need to convince me: my point was only that the site has quite clear indications of the various license regimens, and does not try to hide the FOSS ones.
I'm 100% aware and convinced that LGPL can be dynamically (or in equivalent ways) integrated in proprietary software, ...
You don't need to convince me: my point was only that the site has quite clear indications of the various license regimens, and does not try to hide the FOSS ones.
I'm 100% aware and convinced that LGPL can be dynamically (or in equivalent ways) integrated in proprietary software, ...
It was a reaction to udok who is under the impression that you are obliged to buy a commercial Qt license if you want
to commercially use Qt in closed source programs.
The reason that I want to rectify this, is because this discussion pops up every now and then. I believe this is partly caused
by the way the Qt Company communicates about this matter.
In the past, the open source edition of Qt was GPL licensed, not LGPL. That was a different situation and perhaps
this is contributing to the confusion as well after they changed it to the LGPL.
But why do they then provide commercial licenses, and not cheap ones for 4500$ / Year / Developer.
Maybe it is because any larger project will have a need to modify the Qt sources?
See the comments above.... without any of the gpl problems Qt brings to the table.
What are you talking about? Since when Qt brings gpl problems to the table?
See the comments above.... without any of the gpl problems Qt brings to the table.
What are you talking about? Since when Qt brings gpl problems to the table?
// SPDX-License-Identifier: CC0-1.0
/* Compile using for example
* gcc -Wall -O2 `pkg-config --cflags gtk+-3.0` example.c `pkg-config --libs gtk+-3.0` -o example
*/
#include <gtk/gtk.h>
static void main_activate(GtkApplication *app, gpointer data)
{
GtkWidget *win;
win = gtk_application_window_new(app);
gtk_window_set_title(GTK_WINDOW(win), "Example");
gtk_widget_show_all(win);
}
int main(int argc, char *argv[])
{
GtkApplication *app = gtk_application_new("com.eevblog.Example", G_APPLICATION_FLAGS_NONE);
g_signal_connect(G_OBJECT(app), "activate", G_CALLBACK(main_activate), NULL);
int status = g_application_run(G_APPLICATION(app), argc, argv);
g_object_unref(G_OBJECT(app));
return status;
}
User interfaces are inherently event-based, so it is natural to write even C code to conform to the event model, rather than requiring an imperative model (as is common for C programs). So there is a big paradigm difference in the entire approach, and that can feel jarring. Don't let yourself be put off by it; in this kind of use, the event-based model –– even if it looks odd/funny/funky for a C programmer! –– actually works really, really well.One of the things that often ticks people off are the non-native common dialogs
Qt has the best native look and feel when compared with other cross platform gui toolkits and frameworks.No, that would be wxWidgets (https://www.wxwidgets.org/), because it uses native widgets if one exists, and only implements its own when there is no close-enough native one. See e.g. screenshots for 3.1.5 (https://docs.wxwidgets.org/3.1.5/page_screenshots.html) (latest as of 2021-11-05) for the differences.
Let's agree we don't agree
Sorry if you're already aware of that, but you do seem to be banging on about looks. Function matters a lot more.
Let's agree we don't agree ;DOr let's agree that you're just wrong, because Qt is not native, it just implements its own widgets in a style that looks like the default theme on each OS (possibly with limited OS theme emulation, I'm not sure), whereas wxWidgets are the native widgets.
All C compilers I know of are actually "command line". Even MSVC. Visual Studio just adds an IDE on top of the MS comand line tools, which, BTW, you can also install without Visual Studio IDE.
Likewise, you can use a number of other free IDEs along with GCC. If you like the Visual Studio interface, you can use Visual Studio Code for instance.
All C compilers I know of are actually "command line". Even MSVC. Visual Studio just adds an IDE on top of the MS comand line tools, which, BTW, you can also install without Visual Studio IDE.
Likewise, you can use a number of other free IDEs along with GCC. If you like the Visual Studio interface, you can use Visual Studio Code for instance.
Visual Studio can print your source files, Visual Studio Code can not. I like VS Code, I use it all the time but I really hate having to open the file with another editor just to get a listing.
I like VS Code, I use it all the time but I really hate having to open the file with another editor just to get a listing.If it's any consolation you are not alone:
I like VS Code, I use it all the time but I really hate having to open the file with another editor just to get a listing.If it's any consolation you are not alone:
https://github.com/Microsoft/vscode/issues/5953
It's mainly a *build* that just strips off the nasty stuff (telemetry...)
QuoteIt's mainly a *build* that just strips off the nasty stuff (telemetry...)
Thought that would be worth a look, but on Windows it uses Chocolaty or Scoop for install, both of which make Microsoft look sensible.
It doesn't need any install.
QuoteIt doesn't need any install.
Blinding, thanks :-+
Dunno how I missed that. Probably too dazzled by the pretty web page :palm:
All C compilers I know of are actually "command line". Even MSVC. Visual Studio just adds an IDE on top of the MS comand line tools, which, BTW, you can also install without Visual Studio IDE.
Likewise, you can use a number of other free IDEs along with GCC. If you like the Visual Studio interface, you can use Visual Studio Code for instance.
Visual Studio can print your source files, Visual Studio Code can not. I like VS Code, I use it all the time but I really hate having to open the file with another editor just to get a listing.
Ah, that's funny. I have VS Codium - mainly installed it to evaluate it, and occasionally to get a GUI frontend for GDB - it has an extension for that - but otherwise, I don't use it. Just checked and you're right, it doesn't support printing. Must be one of the few IDEs I've seen that did not!