我的程序中用了Numerical Recipes 书中的c源代码,包括.h和.c文件,其中有些编译预处理的代码。
当用控制台的程序调用其中的函数时,只要include 这些.h就可以运行,可是在开发单文档程序时,include进来后编译老是错,总是提示处理“编译预处理”时出错,想应该是windows程序代码和控制台的不兼容,高手给些指教,多谢。

解决方案 »

  1.   

    比如下面的一个文件,就包括一个函数,编译提示:ran1.c(48) : fatal error C1010: unexpected end of file while looking for precompiled header directive/////////////////////////////////////////////
    #define IA 16807
    #define IM 2147483647
    #define AM (1.0/IM)
    #define IQ 127773
    #define IR 2836
    #define NTAB 32
    #define NDIV (1+(IM-1)/NTAB)
    #define EPS 1.2e-7
    #define RNMX (1.0-EPS)float ran1(long *idum)
    {
    int j;
    long k;
    static long iy=0;
    static long iv[NTAB];
    float temp; if (*idum <= 0 || !iy) {
    if (-(*idum) < 1) *idum=1;
    else *idum = -(*idum);
    for (j=NTAB+7;j>=0;j--) {
    k=(*idum)/IQ;
    *idum=IA*(*idum-k*IQ)-IR*k;
    if (*idum < 0) *idum += IM;
    if (j < NTAB) iv[j] = *idum;
    }
    iy=iv[0];
    }
    k=(*idum)/IQ;
    *idum=IA*(*idum-k*IQ)-IR*k;
    if (*idum < 0) *idum += IM;
    j=iy/NDIV;
    iy=iv[j];
    iv[j] = *idum;
    if ((temp=AM*iy) > RNMX) return RNMX;
    else return temp;
    }
    #undef IA
    #undef IM
    #undef AM
    #undef IQ
    #undef IR
    #undef NTAB
    #undef NDIV
    #undef EPS
    #undef RNMX
      

  2.   

    设置--->C++--->列表框选"预编译头"---->选择"不需要预编译头".
      

  3.   

    6月,一个价值1000元的帖子即将诞生!时代重英豪,网络教尔曹,万般皆下品,唯有发帖高!
    我是有名的水王,可到处遭到版主封杀,网络之大竟无一块版面让俺痛快一灌,发帖还能拿奖?俺倒是曾经梦见过。
    我喜欢跟大家分享,好文章,好资源……。有人喜欢,我已经很开心,转载也有奖金?真是从来没见过。现金大奖:
    一等奖(一名):现金1000元
    二等奖(一名):现金500元
    三等奖(一名):现金300元
    优秀奖(7名):现金100元

    你没听说过、没见过、认为不可能的,今天统统推翻!上Kman论坛(http://www.kman.com.cn/kmanforum/forum/index),你的发帖够精彩,回帖的人够多,1000元就是你的!!