我正在尝试编译和链接调用c子例程的Fortran代码:
Fortran代码:
program adder
integer a,b
a=1
b=2
call addnums(a,b)
stop
end program
Run Code Online (Sandbox Code Playgroud)
C代码:
void addnums( int* a, int* b )
{
int c = (*a) + (*b); /* convert pointers to values, then add them */
printf("sum of %i and %i is %i\n", (*a), (*b), c );
}
Run Code Online (Sandbox Code Playgroud)
我在Windows环境中使用以下命令进行编译和链接.
ifort -c adder.f
cl -c addnums.c
ifort -o add adder.obj addnums.obj
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Microsoft (R) Incremental Linker Version 8.00.50727.762
Copyright (C) Microsoft Corporation. All rights reserved.
-out:add.exe
-subsystem:console
adder.obj
addnums.obj
adder.obj …Run Code Online (Sandbox Code Playgroud)