在D语言的工程中,是可以同时使用C/C++代码文件的。 在VisualD中有一个C/C++编译器命令项。默认使用的是微软的C/C++编译器。
下面来测试下C/C++与D的混合编译。先建立一个Console工程,如下图:
接下来添加一个test_cpp.cpp文件和一个test_c.c文件,注意一定要写上后缀,要不就会变成.d文件
#include "stdio.h" void test_c_hello() { printf("Hello c language! "); }
test_cpp.cpp文件使用以下代码
#include "stdio.h" void test_cpp_hello() { printf("Hello c++ language! "); }
main.d文件中使用以下代码
import std.stdio; extern(C) void test_c_hello(); extern(C++) void test_cpp_hello(); int main(string[] argv) { test_c_hello(); test_cpp_hello(); writeln("Hello D-World!"); readln(); return 0; }
编译工程,这时你会发现有一个错误:
这个错误是说dmc这个编译器没找到,这个dmc也是d语言作者的一个c语言编译器。这个可以从作者网站上可以下载得到,或是下载dmd1.0版本里,就有这样一个编译器。这个我们不讨论。
我们是今天是要介绍与VS的C/C++进行混编,这需要设置一个选项,打开工程属性页把下面两个选项选上:
再次编译,如下图:
运行成功。
作者:宛宏南