阅读:2093回复:3
c语言问题,高手来支援啊
我用C语言做一个des/3des算法,在PC机上可以运行,但是移植到51上的时候,发现片上RAM空间不够。因此我修改我的DES/3DES程序,根据我的系统是分时使用的特点,我决定复用RAM空间,因此我采用了联合体变量对RAM进行复用。我在主程序MAIN.C中定义了联合体变量
union { struct uart_Host { unsigned char RxBuffer[210]; /*Used for PC communication receiver buffer */ unsigned char TxBuffer[210]; /*The buffer for PC communication transmited used */ }Host; struct des_setting //for des/3des { long kl[32]; long kn[32]; long kr[32]; struct str { unsigned long ek[32]; unsigned long dk[32]; } des_ctx; 。。。 } 。。。 //for other using } u_ram; 在我的main主程序中一切正常,但是当我的des.c中引用这个u_ram的时候就出现问题了, 我在DES.C中首先声明 extern union u_ram; 但是后面引用u_ram的时候,编译系统报错,说u_ram未定义,请问高手这是什么原因造成的。 |
|
沙发#
发布于:2008-08-28 17:55
对了,我的编译器是KEIL C51
|
|
板凳#
发布于:2008-08-29 09:15
没人来帮忙啊,不过已解决
|
|
地板#
发布于:2008-09-06 00:37
在主程序了也应该声明
|
|