怎么将c移植到d05中
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容主要讲解"怎么将c移植到d05中",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么将c移植到d05中"吧!// In Ctypedef struc
千家信息网最后更新 2026年11月02日怎么将c移植到d05中
本篇内容主要讲解"怎么将c移植到d05中",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么将c移植到d05中"吧!
// In C
typedef struct foo_s
{
int x;
struct foo_s *next;
} foo_t;
//一个_s,_t.
// In D
struct foo_t//用后面那个.
{
int x;
foo_t *next;
}
还有c的不透明结构/c++的前向引用,
// In C
typedef struct foo_s foo_t;
// In D
struct foo_t;
翻译结构成员,也是差不多,Typedefs, Aliases,和本地类型,但还有些陷阱.命名函数/类型时,尽量与c一样.但有时c中名字有d的关键字.因而一般在前面加个_.然后在文档中说明.
// In C
typedef struct
{
//d关键字.
int module;
} foo_t;
// In D
struct foo_t
{
int _module;//加上_.
}
还有就是一些c库成员,包装在#define块中.在绑定及用c库时,易出错,转d容易,但用时要小心.
// In C
typedef struct
{
float x;
float y;
#ifdef MYLIB_GO_3D
float z;
#endif
} foo_t;
// In D
struct foo_t
{
float x;
float y;
//用版本限定块,与环境相关的名字
version(Go3D) float z;
}
编译时加上,-version=Go3D开关.如果绑定是库,则应用程序也要加.这就折腾了.c库也要这样编译.如果公开,则还要加上版本文档.真是坑人.
还有个坑,就是位域,一般用std.bitmanip库来解决,但不是特效药,因为c标准,未定义位域的顺序.
typedef struct
{
int x : 2;
int y : 4;
int z: 8;
} foo_t;
不保证字段的顺序,以及是否及在哪填空白.不同编译器,不同平台都不一样.必须得手动匹配.可以考虑用std.bitmanip.bitfields
// D用std.bitmanip.bitfields
struct foo_t
{
mixin(bitfields!(//来转换
int, "x", 2,
int, "y", 4,
int, "z", 8,
int, "", 2)); // padding
}
必须为8的倍数,上面是2个空位.从最不重要位开始.必须要与c编译器匹配.
其余是用
struct foo_t
{
int flags;
int x() @property { ... }
int y() @property { ... }
int z() @property { ... }
}
到此,相信大家对"怎么将c移植到d05中"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
编译
移植
不同
关键
关键字
内容
名字
就是
成员
文档
版本
类型
结构
编译器
顺序
学习
实用
更深
重要
差不多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技园
新华互联网科技
江苏根荣互联网科技
互联网科技公司官网
致骋互联网科技
互联网高科技企业
成都玖崟互联网科技有限公司乐商圈怎么样
福建科技产业互联网发展
哈尔滨屹滨互联网科技有限公司
互联网科技的全部知识
工业互联网山东科技大学
合肥互联网科技公司公章图片
互联网科技数字货币
半导体行业属于互联网高科技类吗
互联网科技手机排行榜
万物互联网智能科技
中国互联网公司的科技投入
青岛易易互联网科技
互联网高科技绘画
株洲百竞科技的互联网营销顾问
科技互联网龙头
互联网医疗科技
无锡溥仪互联网科技有限公司
广州慧亚互联网科技怎么样
成都铂石互联网科技做什么的
昭通互联网科技选哪家
崇明区互联网教育科技诚信经营
互联网方面的科技前沿
35岁以上互联网科技行业
武汉亿视互联网科技有限公司