Environment is 64-bit AIX, Visual COBOL 2.1 but compiling on the command line. I have a simple COBOL program calling a simple C program. The COBOL program is compiled as 64-bit. The C program is, as far as I am aware, compiled as 64-bit - I have used the compilation option -maix64 and the loader option -b64. Running the program generates the error "253 Cannot load file - unsupported format". I have also tried compiling the COBOL program as 32-bit but with the same result. A previous question in the forum about this same result was apparently due to a 64-bit COBOL program calling a 32-bit C program, but I think I've eliminated that. To eliminate anything else, I edited the two programs down to absolute basics (the return 19 in the C program is so I can check that a value is definitely being returned): program-id. testc. special-names. call-convention 0 is aix-c. working-storage section. 01 ws-name pic x(4) value "fred". 01 ws-return-val pic s9(9) comp-5. procedure division. a-control section. move zero to ws-return-val call aix-c "helloworld" using ws-name returning ws-return-val display "Returned " ws-return-val goback . #include stdio.h int main( int argc, char **argv ) { printf( "Hello %s\n", argv[1] ); return( 19 ); } So have I missed something blindingly obvious?
↧