phcs 发表于 2015-8-25 16:23:33

C 语言风格预处理语句问题

你好, 我是做abaqus子程序的。我在Linux系统下调用test.f
的子程序(test.f又调用其他.f90后缀的子程序)可以进行计算。现在我想改用在windows下运行,改为调用test.for后缀的子程序,但是总是出错。我看了您对比了windows和Linux下编译器对比,Intel fortran的支持都是一样的。我想问下,在windows下,怎么样设置调用C语言格式及其宏预处理(在abaqus调用过程中不用打开VS),因为在Linux系统下有C语言格式和宏预处理?

fcode 发表于 2015-8-25 16:31:43

我没用过二次开发。如果你可以控制命令行编译参数的话,加 /fpp 既可。

glodve 发表于 2016-6-11 11:25:25

fcode 发表于 2015-8-25 16:31
我没用过二次开发。如果你可以控制命令行编译参数的话,加 /fpp 既可。

加入/fpp 之后就只能编译个别问题。对于C语言的语法是通不过的。

#define PETSC_VERSION_(MAJOR,MINOR,SUBMINOR) \
((PETSC_VERSION_MAJOR == (MAJOR)) &&       \
   (PETSC_VERSION_MINOR == (MINOR)) &&       \
   (PETSC_VERSION_SUBMINOR == (SUBMINOR)) && \
   (PETSC_VERSION_RELEASE== 1))

就像上面提示出错:
错误        548       error #5078: Unrecognized token '|' skipped        D:\PETSC\petsc\include\petscversion.h        30
错误        549       error #5078: Unrecognized token '\' skipped        D:\PETSC\petsc\include\petscversion.h        30
错误        534       error #5276: Unbalanced parentheses        D:\PETSC\petsc\include\petscversion.h        24

请问有什么办法解决吗?

glodve 发表于 2016-6-11 20:28:02

glodve 发表于 2016-6-11 11:25
加入/fpp 之后就只能编译个别问题。对于C语言的语法是通不过的。

#define PETSC_VERSION_(MAJOR,MINOR,S ...

已经解决问题了,只是自己的程序编写的时候出问题。。。谢谢

fcode 发表于 2016-6-12 15:03:15

这是去年的帖子啊。。。啊。。。。啊
页: [1]
查看完整版本: C 语言风格预处理语句问题