最近介紹了
ImportC
.我做了以下事情:
1)
從
libplot
文檔中
複制
示例代碼并
粘貼
到
D檔案
中.
2)
,
添加
以下行到檔案中:
import plot;
注意:為此,在
Makefile
中添加了以下行:
plot.i: plot.c Makefile
gcc -I /usr/include -E $< > $@
一旦
外部
預處理器生成
plot.i
,
D
就可
導入
它.我必須否認
plot.c
需要以下操作:
//這是必需的,因為不支援`__restrict`
#define __restrict restrict
#undef __GNUC__
//需要跳過`__REDIRECT`宏的定義,因為
//無法解析'fscanf'`等某些相容性聲明.(?)
#include "stdio.h"
//這是必需的,因為`plot.h`使用`FILE`但未能包含`stdio.h`
//這是程式需要的
#include "plot.h"
3)
我在示例
C代碼
中改了兩個地方:
3.1
,添加
.dup.ptr
到以下
字面
中,因為
D與C的
字面不同:
"PAGESIZE".dup.ptr
3.2
,我更改
以下清單常量
為
D
:
// #define MAXORDER = 12;
enum MAXORDER = 12;
總結:我(幾乎)
複制/粘貼
C代碼到
D中
,
整個
代碼都可
正常
工作,甚至不用
綁定
.
然後我
進一步
實驗在
彼此
間導入
C和D
檔案.它管用.