This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

What does the C standard say about portability?

Hello,

See here:

www.open-std.org/.../C99RationaleV5.10.pdf

Is it possible that "Jack Sprat", the staunch defender of the C standard as the ultimate reference when writing programs, missed the following statement?

C code can be non-portable.  Although it strove to give programmers the opportunity to write
truly portable programs, the C89 Committee did not want to force programmers into writing
portably, to preclude the use of C as a “high-level assembler”:  the ability to write machine-
35  specific code is one of the strengths of C.  It is this principle which largely motivates drawing the
distinction between strictly conforming program and conforming program (§4).

this is precisely what Per Westermark has been saying.
Exactly what Erik Malund has been saying.
Remember: Jack Sprat claims often that writing a program that complies with the C standard is a GUARANTEE for its correct functioning.

Parents
  • To achieve the modularizing, someone proposed an idea/rule for C programming, where fileA.c are not allowed to include fileA.h,

    That means you desperately need of a source of better "someones".

    he claims this is for reducing the cohesion and data coupling

    That claim is pure and utter nonsense. The module's own interface header is exactly the single header file whose inclusion will not have any effect on cohesion or cross-coupling. Every other include is what does that.

Reply
  • To achieve the modularizing, someone proposed an idea/rule for C programming, where fileA.c are not allowed to include fileA.h,

    That means you desperately need of a source of better "someones".

    he claims this is for reducing the cohesion and data coupling

    That claim is pure and utter nonsense. The module's own interface header is exactly the single header file whose inclusion will not have any effect on cohesion or cross-coupling. Every other include is what does that.

Children
No data