Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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


Ïà¹ØÎĵµ£º

hexdump s 0 n 52 CʵÀý helloworld

[root@localhost test]# hexdump -s 0 -n 52 -C helloworld
00000000  7f 45 4c 46 01 01 01 00  00 00 00 00 00 00 00 00  |.ELF............|
00000010  02 00 03 00 01 00 00 00  10 83 04 08 34 00 00 00  |............4...|
00000020  30 08 00 00 00 00 00 00  34 00 20 ......

ÎÒµÄCʵ¼ù(7)£ºÎ»¼ÆÊý

  λ¼ÆÊý¾ÍÊǶÔÒ»¸öÊýÖоßÓÐÄ³Ð©ÌØÕ÷µÄλ½øÐмÆÊý¡£¿´ÏÂÃæÊµÏÖ£º
/* bitscount.c£ºÎ»¼ÆÊý */
/* ¼ÆËãxÖÐ1λµÄÊýÄ¿£º·½°¸1£¬²ÉÓ÷ÖÖβßÂÔ */
inline int pop(unsigned x){
/* ¶Ôÿ¸ö2λ×ֶΣ¬ÏÈÎö³öÆäÓҶ˵Ä1룬ÔÙÎö³öÆä×ó¶ËµÄ1λ£¬È»ºóÈÃÕâÁ½¸öλÏà¼Ó */
x=(x & 0x55555555)+((x>>1) & 0x555555 ......

¹«ÀúתũÀúC³ÌÐò

×¢ÒâÖ»Äܵ½2049Ä꣡
 
#define uchar unsigned char
#define uint unsigned int
#include <intrins.h>
/*
¹«ÀúÄê¶ÔÓ¦µÄÅ©ÀúÊý¾Ý,ÿÄêÈý×Ö½Ú,
¸ñʽµÚÒ»×Ö½ÚBIT7-4 λ±íʾÈòÔÂÔ·Ý,ֵΪ0 ΪÎÞÈòÔÂ,BIT3-0 ¶ÔӦũÀúµÚ1-4 ÔµĴóС
µÚ¶þ×Ö½ÚBIT7-0 ¶ÔӦũÀúµÚ5-12 Ô´óС,µÚÈý×Ö½ÚBIT7 ±íʾũÀúµÚ13 ¸öÔ´óÐ ......

C»·¾³½«±äÁ¿¶¨Òåµ½RAM¾ø¶ÔµØÖ·Ö®ÉÏ


//À´Ô´²»Ïê
1. ¾ø¶Ôºê£º
ÔÚ³ÌÐòÖУ¬ÓÓ££include<absacc.h>”¼´¿ÉʹÓÃÆäÖж¨ÒåµÄºêÀ´·ÃÎʾø¶ÔµØÖ·£¬°üÀ¨CBYTE¡¢XBYTE¡¢PWORD¡¢DBYTE¡¢CWORD¡¢XWORD¡¢PBYTE¡¢DWORD
¾ßÌåʹÓÿɿ´Ò»¿´absacc.h±ãÖª£¬ÀýÈ磺
rval=CBYTE[0x0002];Ö¸Ïò³ÌÐò´æÖüÆ÷µÄ0002hµØÖ·
rval=XWORD[0x0002];Ö¸ÏòÍâRAMµÄ0002hµØÖ·
2 ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ