打印

求助:将c源程序分成两个后,系统就不正常

[复制链接]
865|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hufangling|  楼主 | 2016-11-5 10:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
原99年做的tms320vc33系统,一直是一个c程序,显示计算均正常。现在因为要增加程序功能,想分工合作。第一步只是将原程序拆成了两个:1.c(主控程序)和2.c(函数),如果在1.c中使用include “2.c”语句,也均正常,但不用include “2.c”,直接将1.c和2.c加入project中形成1.obj和2.obj,再链接成.out,系统就无显示。使用的.cmd一直没改过,不知哪儿错了,请各位大侠指教。

相关帖子

沙发
51xlf| | 2016-11-5 16:55 | 只看该作者
程序不能运行还是显示错误?

使用特权

评论回复
板凳
51xlf| | 2016-11-5 16:59 | 只看该作者
你可以通过头文件进行引用。

使用特权

评论回复
地板
zhangmangui| | 2016-11-5 22:44 | 只看该作者
.c里面调用头文件解决

使用特权

评论回复
5
zhangmangui| | 2016-11-5 22:44 | 只看该作者
tms320vc33  这片子还能买到吗

使用特权

评论回复
6
mcu5i51| | 2016-11-6 08:11 | 只看该作者
怎么全是包含C文件呀,一直在照着学校的东西来呀,应该改一下了

使用特权

评论回复
7
ddllxxrr| | 2016-11-6 10:03 | 只看该作者
第一个程序要用到第二个程序里的东东,就得包含第二个程序的头文件.h这是编译器要求的,不要问那么多为什么

使用特权

评论回复
8
ta1ent| | 2016-11-6 10:20 | 只看该作者
用头文件即可。

使用特权

评论回复
9
hufangling|  楼主 | 2016-11-7 09:58 | 只看该作者
就是改为头文件调用了系统就不显示了
文件一kz:
#include "func_kz.h"
#include "func_js_ext.h"
#include "func_tx_ext.h"
文件二js:
#include "func_kz_ext.h"
#include "func_js.h"
#include "func_tx_ext.h"
文件三tx
#include "func_kz_ext.h"
#include "func_js_ext.h"
#include "func_tx.h"
cmd中
MEMORY
{
   VECS:   org = 0x1000 ,len = 0x40
   
   EXT0:   org = 0x3000,len = 0x20000   /* EXTERNAL MEMORY org = 0x3000,len = 0x1d000 */
   EXT1:   org = 0x1100,len = 0x0100        /*1e00 org = 0x1100, len = 0x0100 */
   
   RAM0:   org = 0x809800,len = 0x400         /* RAM BLOCK 0 */
   RAM1:   org = 0x809c00,len = 0x400         /* RAM BLOCK 1 */  
   RAM2:   org = 0x800000,len = 0x4000   /* RAM BLOCK 2        */
   RAM3:   org = 0x804000,len = 0x4000   /* RAM BLOCK 3        */
}

/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */

SECTIONS
{
   .asect:  > VECS      
   .text:   > EXT0  
   .cinit:  > RAM3  
   .const:  > EXT0   
   .data:   > EXT0   
   .stack:  > RAM0                 
   .sysmem: > RAM1  
   .bss:    > EXT0          
}
形成的map中
MEMORY CONFIGURATION

           name     origin    length      used    attributes    fill
         --------  --------  ---------  --------  ----------  --------
         VECS      00001000  000000040  00000000     RWIX      
         EXT1      00001100  000000100  00000000     RWIX      
         EXT0      00003000  000020000  0000cc21     RWIX      
         RAM2      00800000  000004000  00000000     RWIX      
         RAM3      00804000  000004000  00002270     RWIX      
         RAM0      00809800  000000400  00000400     RWIX      
         RAM1      00809c00  000000400  00000000     RWIX      


SECTION ALLOCATION MAP

output                                  attributes/
section   page    origin      length       input sections
--------  ----  ----------  ----------   ----------------
.asect     0    00001000    00000000     UNINITIALIZED
.text      0    00003000    0000a6f7     
.cinit     0    00804000    00002270     
.const     0    00003000    00000000     UNINITIALIZED
.data      0    0000d6f7    00000014     
.stack     0    00809800    00000400     UNINITIALIZED
.sysmem    0    00809c00    00000000     UNINITIALIZED
.bss       0    0000d70b    00002516     UNINITIALIZED
内存小模式,bss段未超过64K呀

使用特权

评论回复
10
xiaoyaozt| | 2016-11-7 22:24 | 只看该作者
程序是不是没有引用成功?

使用特权

评论回复
11
xiaoyaozt| | 2016-11-7 22:27 | 只看该作者
看看引用路径包含进去了。

使用特权

评论回复
12
isseed| | 2016-11-8 22:52 | 只看该作者
程序编译正确吗?

使用特权

评论回复
13
isseed| | 2016-11-8 22:53 | 只看该作者
正确不是还有头文件吗?

使用特权

评论回复
14
pmp| | 2016-11-10 21:26 | 只看该作者
上传一下你的代码和工程看看。

使用特权

评论回复
15
pmp| | 2016-11-10 21:28 | 只看该作者
include的目录包括在编译器了吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝