首页
社区
课程
招聘
[求助]几个对我来说很重要的问题
发表于: 2007-10-3 22:30 4340

[求助]几个对我来说很重要的问题

2007-10-3 22:30
4340
有些菜,见谅!

1.怎么给函数指针赋值。
比如说:
函数 void a()的地址是 0x100000
我想把函数a定位到0x200000,即:使函数a()的地址变为0x200000。
请问怎么赋值?
我这样:a=0x200000,会出错。
请问在c中该如何赋值?

2.window编程种这么多类型定义在哪里查找?

比如说有:LPWORD WORD LPVOID.......
我想要集中类型互相强制转换就必须了解这些类型,请问在哪里查找这些类型的定义?(最好不要告诉我MSDN,那东西资料很全但就是难找)。

谢谢!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 247
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
1. 函数在编译之后位置就已经固定了
2. msdn
2007-10-4 14:29
0
雪    币: 257
活跃值: (56)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
谢谢你的回复!
我1中的问题就是想问在写代码阶段怎么给函数赋值?
2007-10-4 14:38
0
雪    币: 3758
活跃值: (3282)
能力值: ( LV15,RANK:500 )
在线值:
发帖
回帖
粉丝
4
1: 要先typedef一个函数指针类型, 然后使用这个类型声明一个变量, 赋值时候使用(类型)(地址)就可以了, 不能直接给函数地址赋值, 那样等于对常数赋值.
2: Windows Data Types
2007-10-4 15:42
0
雪    币: 257
活跃值: (56)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
5
thanks great!
豁然开朗。
2007-10-4 16:06
0
雪    币: 2899
活跃值: (1753)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
6
所谓指针,在32位上总会是4个字节。
函数位于Code区,而一般的指针,有的在全局数据区Data,有的在局部数据区stack,还有的在堆区Heap。在Code的区的是不能与其它区互相强制转换并赋值的。函数地址是常量指针。
2007-10-4 21:18
0
雪    币: 257
活跃值: (56)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
7
谢谢,还有个小问题,程序便以后怎么知道什么是int const int char pointer呢(读一个int读4字节,读char读2字节,怎么知道杜几个字节的呢?)?
我的估计是编译器处理过之后就都变成一样的了。
2007-10-5 01:00
0
雪    币: 3758
活跃值: (3282)
能力值: ( LV15,RANK:500 )
在线值:
发帖
回帖
粉丝
8
若指的是对内存中变量的存取, DWORD PTR, WORD PTR, Byte PTR.
64bit是高32和低32 2次操作的.
另外, char不是2字节, WCHAR才是.
2007-10-5 16:55
0
游客
登录 | 注册 方可回帖
返回
//