易截截图软件、单文件、免安装、纯绿色、仅160KB

Fortran & C 混编

C 调用 Fortran
c2ffn.f
      SUBROUTINE NAMEAGE(NAME, NLEN, AGE, TEMP)
      CHARACTER*(*) NAME
      INTEGER NLEN,AGE
      REAL TEMP
C
      WRITE(6,1000) NAME(1:NLEN),AGE,TEMP
 1000 FORMAT(1X,'Hello ',A,', who is ',I2,
     .       ' years old, has a temperature of ', f4.1)
      RETURN
      END
c2f.c
#include <string.h>
#ifdef _CRAY
# include <fortran.h>
#  define nameage       NAMEAGE
#else
#  if !defined(_AIX) && !defined(__hpux)
#    define nameage     nameage_
#  endif
#  define _fcd          char *
#  define _cptofcd(a, b)   (a)
#  define _fcdlen(a)    strlen(a)
#endif
void nameage(_fcd name, int *nlen, int *age, float *temp);
int main()
{
    char *name = "Knut";
    _fcd fp;
    int nlen, age = 4;
    float temp = 98.6;
    nlen = strlen(name);
    fp = _cptofcd(name, nlen);
    nameage(fp, &nlen, &age, &temp);
    system("pause");
    return 0;
}
Makefile
f77 = g77
 
#
tar = demo
 
#
src = c2f.c
 
#
srcf = c2ffn.f  
 
#
obj = $(src:.c=.o)
 
objf = $(srcf:.f=.o)
 
 
${tar} : ${obj} ${objf}
    ${f77} -o ${tar}  ${objf} ${obj} 
 
${obj} : ${src}
    ${CC} -c ${src} -o ${obj}
 
${objf} : ${srcf}
    ${f77} -c ${srcf} -o ${objf}
clean:
    rm -f  *.o
Fortran 调用 C
#include <string.h>
#ifdef _CRA


相关文档:

又是3只C。。。= =

1.写出两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。
#include<stdio.h>
int gcd(int,int);
int lcm(int,int);
int gcd(int m,int n)
{
if(m%n==0)
return n;
else
return gcd(n,m%n);
}
int lcm(int m,int n)
{
return m*n/(gc ......

我的C实践(8):字搜索

  字搜索就搜索一个数中具有某些特征的位。实现如下:
/* wsearch.c:字搜索 */
/* 从左边寻找第一个0字节:第0(1,2,3)个字节是0时,返回0(1,2,3),否则返回4 */
int zbytel(unsigned x){
if((x>>24)==0) return 0;
else if((x & 0x00ff0000)==0) return 1;
else if((x & 0x0000ff00)==0) r ......

彻底搞定C指针

 
转帖自http://teren.itpub.net/post/15914/189516写的非常好,同时对作者打破砂锅问到底的精神彻底折服
《彻底搞定C指针》第一篇 变量的内存实质
要理解C指针,我认为一定要理解C中“变量”的存储实质,所以我就从“变量”这个东西开始讲起吧!
先来理解理解内存空间吧!请看下图:
内存地 ......

用C socket http发送这段请求报文

HTTP分为请求行,请求头部以及请求内容
那个长度数字值就是请求内容的长度(字节为单位)
给一段例子你就基本明白了:
onst CString getString(int i)
{
    CString s;
    s.Format(_T("%d"), i);
    return s;
}
////////////////////////////////
CS ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号