首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

求助,编程问题!

这是定义的两个代码段。第一句语句指把 dard_int()这个函数放在Non_Banked这个区间内。Non_Banked这个区间你必须预先定义好(可以在prm文件中设置),比如说规定它在0x2000-0x3000这个存储区间内。
这是是codewarrior中的用法,看MSDN没有的。
你可以看CW手册中,Manual_Compiler_HC08.pdf中299页开始对这个语句的介绍
一样的用法,手册在安装目录中,如果是S12的话应该是这个路径
C:\Program Files\Metrowerks\CodeWarrior CW12_V2.0\CodeWarrior Manuals\pdf
看manual compiler
在安装路径的prog目录下面应该有个libmaker.exe文件,这个可以用来做库
大家可以去这个地址下载应用手册
http://www.metrowerks.com/MW/Support/dev_resources/Documentation_for_HC12_3.1.htm
关于怎么把工程内的代码文件做成库,在我回给Johnyoung67的帖子中已经说了,至于怎么选择某几个文件做成库就不是一两句话可以说明白的了。另外,我提到的方法并不能包含头文件。不知道你具体想做成什么样的库?
库的名字并不是去改target的名字,库的名字是在你选了libmaker for HC12以后,在target栏里面生成出来的libmaker for HC12选项里面有个library filename里面设定的。至于库放在什么地方,你在设置你库的名字的时候也是可以设定路径的。另外,取名字的时候要记得加上后缀,比如要取成test.lib, 不要取成test。
至于调用的话,就是通过头文件给出函数形式接口,把你的库加入到工程文件中去,然后调用就可以了
那个做库的手册的确比较难懂,看的会比较懵。你如果想把整个工程做成库可以用我所说的方法。但是如果只想拿几个文件出来做成库的话还是需要用libmaker来做
当然会这样咯,生成的库其实就是你前面的那些文件,你必须把你那些文件从库里面移走才行。库是那些文件的替代者,不要和文件重复用!
这个就要看你的库里面包涵了哪些文件,另外有时候尽管工程里面没有显现出来,但是你的文件还是包含在工程里面的。另外,这种overlap还可能和你的存储空间的分配有关。当然,如果你在生成库之前的工程没有什么问题的话,那肯定是你有什么文件没有移走的缘故
可以,当然可以这么做。
呵呵,这个其实你自己动手试一下就ok了,不必问的,实践出真知嘛。
不过,建议你最好不要这么做,因为库是给人用的,如果库去调用外部的变量不是很好。可以把变量变成库里面的,而主函数用extern来声明使用
直接在头文件里面定义成全局变量,extern char a;
用汇编的定义方法
a   DS.B   2
b   Ds.b   2
在文件开头用xdef a,  xdef b声明一下,然后在c中就可以调用该变量了
返回列表