水木社区手机版
首页
|版面-C程序设计语言(CProgramming)|
新版wap站已上线
返回
1/1
|
转到
主题:C语言是怎么处理反射需求的?
15楼
|
siegfried415
|
2021-09-16 10:59:41
|
展开
在C语言中,struct是一个面向程序员的概念,在编译好的代码中struct只是一小段连续的内存,访问struct成员只是是用内存地址+成员偏移来完成的,这意味着编译好的代码中完全没有struct的概念,所以在C语言中是无法完成所谓的反射操作的。。。
【 在 littleSram 的大作中提到: 】
: 反射在JAVA里通常用来看class的定义,比如成员变量的名字和类型,
: 于是到了c里,就想在运行时拿到struct的成员的类型和名字
--
FROM 113.225.210.*
17楼
|
siegfried415
|
2021-09-16 11:23:14
|
展开
C语言作为一门严格的编译语言,其核心的逻辑是结构体的长度必须在编译期得到确定,所以根本不存在在动态语言的那种在运行期询问某个语言实体的类型那样的需求。。。
【 在 flw 的大作中提到: 】
: 这么说也对。
: 但这并不是说反射就绝对不可行。
: 其它语言的许多概念在 C 里面都是可以模拟出来的。
: ...................
--
修改:siegfried415 FROM 113.225.210.*
FROM 113.225.210.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版