C程序引用LDF文件中定义的变量的方法
2008-07-15 15:16
513 查看
在ADI DSP开发中,LDF文件扮演了相当重要的角色,它定义了系统存储空间的划分方式和可执行程序在存储空间中的装载位置。
LDF文件还有一个重要的作用,就是在程序链接时定义变量,汇编语言和C语言都可以对这个变量进行引用。
如我们在LDF文件中定义程序执行的堆空间的大小和位置:
heap
{
// Allocate a heap for the application
ldf_heap_space = .;
ldf_heap_end = ldf_heap_space + MEMORY_SIZEOF(MEM_STD_HEAP) - 1;
ldf_heap_length = ldf_heap_end - ldf_heap_space;
_ldf_heap_space = ldf_heap_space;
_ldf_heap_length = ldf_heap_length + 1;
} >MEM_STD_HEAP
变量ldf_heap_space被赋予了堆空间的起始位置。如果我们在程序中能够引用ldf_heap_space,则我们就知道了堆空间从哪里开始。
引用方法如下:
extern int ldf_heap_space;
void * pHeapAddr = &ldf_heap_space;
这样,指针 pHeapAddr 就指向堆的起始地址。
注意,变量ldf_heap_space的地址才是所要引用的值。不要弄错了,:p。
LDF文件还有一个重要的作用,就是在程序链接时定义变量,汇编语言和C语言都可以对这个变量进行引用。
如我们在LDF文件中定义程序执行的堆空间的大小和位置:
heap
{
// Allocate a heap for the application
ldf_heap_space = .;
ldf_heap_end = ldf_heap_space + MEMORY_SIZEOF(MEM_STD_HEAP) - 1;
ldf_heap_length = ldf_heap_end - ldf_heap_space;
_ldf_heap_space = ldf_heap_space;
_ldf_heap_length = ldf_heap_length + 1;
} >MEM_STD_HEAP
变量ldf_heap_space被赋予了堆空间的起始位置。如果我们在程序中能够引用ldf_heap_space,则我们就知道了堆空间从哪里开始。
引用方法如下:
extern int ldf_heap_space;
void * pHeapAddr = &ldf_heap_space;
这样,指针 pHeapAddr 就指向堆的起始地址。
注意,变量ldf_heap_space的地址才是所要引用的值。不要弄错了,:p。
相关文章推荐
- 程序文件【C/C++】变量的定义与声明
- 问题(怎样在dephi中引用.net中定义的类.方法参数,参数类型为XMLdocument?我要调用此方法并把实例花的xmldocument类型的变量作为参数给它。)
- 头文件中定义变量和声明变量的方法
- 微信小程序引用同一js文件中的方法函数(function)
- C++ error LNK2005,某变量已经在*.obj文件中定义了 解决方法
- keil 中——C语言模块化编程时全局变量、结构体的定义、声明以及头文件包含的处理方法
- 解决VS2010在程序根目录生成ipch文件夹和.sdf格式文件问题以及右键查看变量申明和定义按钮变灰
- 关于多文件引用头文件变量重复定义的解决办法【BCB2010环境】
- 写了一个程序,但是引用了大量的static变量和全局变量,有什么好的方法解决?
- 在一个程序中需要用到全局变量(在多个class之间共享数据),请问如何定义具有这种功能的变量?或者是否有其他的方法解决多个class之间的数据共享(尽量简单实现)。 首先应该明确 Java中没有全局变
- dos变量定义和引用方法
- JS的变量定义跨文件引用
- 用extern对外部变量作提前引用声明,以扩展程序文件的作用域.Cpp
- 如何引用一个已经定义过的全局变量 与 全局变量可不可以定义在可被多个.C文件包含的头文件中
- PHP变量的定义、可变变量、变量引用、销毁方法
- C\C++小知识: 如何引用一个已经定义过的全局变量 与 全局变量可不可以定义在可被多个.C文件包含的头文件中
- opencv学习(四)头文件申明/main函数格式定义/程序(变量)命名规则/printf函数
- 如何在多源文件程序中合理定义全局变量
- (vs2008链接错误LK200x:xxx在yyy.obj中已定义或xxx在yyy中以被引用):一个全局的变量想在多个cpp文件中使用
- 详解keil采用C语言模块化编程时全局变量、结构体的定义、声明以及头文件包含的处理方法!