- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello everyone,
I'm working on a large program involving hundreds of files. I work entirely from the command line and maintain my own make files. To avoid a compilation cascsde when I change the workings of a module but don't modify its interface, I've developed a make system that saves a module's mod file, compares it with the one generated by the compilation, and then restores the old one, with its original time and date, if it's identical to the new one.
I've make a very, very minor modification to the source code of one module, one that I'm absolutely positive makes no change to its interface. But when I make my program, the new and saved mod files differ, and furthermore many subsequently generated mod files also differ from their last version. The message I get for all is like this:
lensput.mod lensput.last.mod differ: char 45, line 1
(To compare the files I use the cmp utility provided with the MKS Toolkit, which provides a Unix-like environment on a Windows machine.)
For every comparison the difference is always char 45, line 1, and indeed when I look at the two files using notepad there appears to be a difference only in the first line. (The file is a binary file so it's impossible to decipher the difference.)
Anyone have any idea what the difference is or how to avoid it.
I'm using compiler version 6.6. Here are my compiler options:
COMPILER OPTIONS BEING USED
/noalign:commons /noalign:dcommons
/align:records /noalign:sequence
/noalign:rec1byte /noalign:rec2byte
/noalign:rec4byte /noalign:rec8byte
/altparam /annotations:code
/annotations:detail /annotations:feedback
/annotations:inlining /annotations:loop_transforms
/annotations:loop_unrolling /annotations:prefetching
/annotations:shrinkwrapping /annotations:software_pipelining
/annotations:tail_calls /annotations:tail_recursion
/arch:k7 /noasmattributes:machine
/noasmattributes:source /assume:accuracy_sensitive
/noassume:buffered_io /noassume:byterecl
/noassume:cstring /noassume:dummy_aliases
/noassume:minus0 /assume:protect_constants
/assume:source_include /noassume:underscore
/noassume:2underscores /noautomatic
/nobintext /ccdefault:default
/nocheck:arg_temp_created /nocheck:bounds
/nocheck:flawed_pentium /nocheck:format
/nocheck:output_conversion /nocheck:overflow
/nocheck:power /nocheck:underflow
/convert:native /D:_WIN32=1
/D:_DF_VER=660 /D:_VF_VER=660
/D:_X86_=1 /D:_M_IX86=500
/D:_INTEGRAL_MAX_BITS=32 /double_size:64
/nod_lines /error_limit:30
/extend_source:72 /nof66
/nof77rtl /nofast
/nofltconsist /nofpscomp:filesfromcmd
/nofpscomp:general /nofpscomp:ioformat
/nofpscomp:ldio_spacing /fpscomp:libs
/nofpscomp:logicals /nofpconstant
/fpe3 /free
/g1 /Gt0
/iface:stdref /nointconstant
/integer_size:32 /libdir:automatic
/libdir:user /nolibs_dll
/nomachine_code /math_library:fast
/mixed_str_len_arg /nomodule
/names:uppercase /noinclude
/O4 /inline:speed
/notransform_loops /nopipeline
/tune:k7 /unroll:0
/nopad_source /real_size:32
/norecursive /reentrancy:none
/noshow:include /show:map
/stand:f95 /nosyntax_only
/notraceback /novms
/warn:alignments /warn:argument_checking
/warn:declarations /nowarn:errors
/warn:general /nowarn:granularity
/nowarn:ignore_loc /nowarn:stderrors
/nowarn:truncated_source /warn:uncalled
/warn:uninitialized /warn:unused
Thanks,
Norm
I'm working on a large program involving hundreds of files. I work entirely from the command line and maintain my own make files. To avoid a compilation cascsde when I change the workings of a module but don't modify its interface, I've developed a make system that saves a module's mod file, compares it with the one generated by the compilation, and then restores the old one, with its original time and date, if it's identical to the new one.
I've make a very, very minor modification to the source code of one module, one that I'm absolutely positive makes no change to its interface. But when I make my program, the new and saved mod files differ, and furthermore many subsequently generated mod files also differ from their last version. The message I get for all is like this:
lensput.mod lensput.last.mod differ: char 45, line 1
(To compare the files I use the cmp utility provided with the MKS Toolkit, which provides a Unix-like environment on a Windows machine.)
For every comparison the difference is always char 45, line 1, and indeed when I look at the two files using notepad there appears to be a difference only in the first line. (The file is a binary file so it's impossible to decipher the difference.)
Anyone have any idea what the difference is or how to avoid it.
I'm using compiler version 6.6. Here are my compiler options:
COMPILER OPTIONS BEING USED
/noalign:commons /noalign:dcommons
/align:records /noalign:sequence
/noalign:rec1byte /noalign:rec2byte
/noalign:rec4byte /noalign:rec8byte
/altparam /annotations:code
/annotations:detail /annotations:feedback
/annotations:inlining /annotations:loop_transforms
/annotations:loop_unrolling /annotations:prefetching
/annotations:shrinkwrapping /annotations:software_pipelining
/annotations:tail_calls /annotations:tail_recursion
/arch:k7 /noasmattributes:machine
/noasmattributes:source /assume:accuracy_sensitive
/noassume:buffered_io /noassume:byterecl
/noassume:cstring /noassume:dummy_aliases
/noassume:minus0 /assume:protect_constants
/assume:source_include /noassume:underscore
/noassume:2underscores /noautomatic
/nobintext /ccdefault:default
/nocheck:arg_temp_created /nocheck:bounds
/nocheck:flawed_pentium /nocheck:format
/nocheck:output_conversion /nocheck:overflow
/nocheck:power /nocheck:underflow
/convert:native /D:_WIN32=1
/D:_DF_VER=660 /D:_VF_VER=660
/D:_X86_=1 /D:_M_IX86=500
/D:_INTEGRAL_MAX_BITS=32 /double_size:64
/nod_lines /error_limit:30
/extend_source:72 /nof66
/nof77rtl /nofast
/nofltconsist /nofpscomp:filesfromcmd
/nofpscomp:general /nofpscomp:ioformat
/nofpscomp:ldio_spacing /fpscomp:libs
/nofpscomp:logicals /nofpconstant
/fpe3 /free
/g1 /Gt0
/iface:stdref /nointconstant
/integer_size:32 /libdir:automatic
/libdir:user /nolibs_dll
/nomachine_code /math_library:fast
/mixed_str_len_arg /nomodule
/names:uppercase /noinclude
/O4 /inline:speed
/notransform_loops /nopipeline
/tune:k7 /unroll:0
/nopad_source /real_size:32
/norecursive /reentrancy:none
/noshow:include /show:map
/stand:f95 /nosyntax_only
/notraceback /novms
/warn:alignments /warn:argument_checking
/warn:declarations /nowarn:errors
/warn:general /nowarn:granularity
/nowarn:ignore_loc /nowarn:stderrors
/nowarn:truncated_source /warn:uncalled
/warn:uninitialized /warn:unused
Thanks,
Norm
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, Norm..
There is a timestamp written into the .mod file - that's probably what you are seeing. The header is 168 bytes long - you probably want to ignore everything in the header after the first 12 bytes.
Steve
There is a timestamp written into the .mod file - that's probably what you are seeing. The header is 168 bytes long - you probably want to ignore everything in the header after the first 12 bytes.
Steve
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you Steve.
Norm
Norm
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page