This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Performance, for(int i...) vs for(i...)


On 26/08/12 20:41, Tim Prince wrote:
On 8/26/2012 1:56 PM, Georg-Johann Lay wrote:
Tim Prince schrieb:
On 08/26/2012 11:30 AM, lab@kayohamid.net wrote:
Hello, I like performance, and until last month i follow what I see
on the web to do better coding for performance, like:

- Avoid i++, use ++i and so on.

But now i'm using the assembly (-S) code generated to see if
somethings is correct, and today i'm investigating this:

int i;
for(i = 0;....);

vs

for(int i = 0;...);

[...] It's probably important to continue to handle the declaration outside the scope well, as that version is required for C source code by Microsoft compilers, even VS2012. I have had occasion to wish that people didn't rely on non-standard maybe Microsoft is right in forbidding both incorrect and correct C++ usage in C code.

It's all vanilla C99, no C++ is needed for that.


Just activate that language standard in your C compiler ;-)

Johann


Nothing wrong with maintaining compatibility with a widely marketed
compiler, even if gcc does the job better.


Are you suggesting that people who use gcc should limit themselves and the quality of the code they write because some other manufacturer makes a half-hearted C compiler that they hope no one will ever use? MS supports C++ (with their own additions), C# and VB (their own proprietary languages) - they haven't supported C properly for something like a decade.


If you want to use MS tools, that's fine - but use the tools they actually recommend you use. And if you want to write C, use a real C compiler.

There are many features of C99 that are good additions to making C a better language, and you should use them when writing C code.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]