zoukankan      html  css  js  c++  java
  • D语言VisualD中使用C/C++与D语言混合编程

            在D语言的工程中,是可以同时使用C/C++代码文件的。 在VisualD中有一个C/C++编译器命令项。默认使用的是微软的C/C++编译器。

    image

        下面来测试下C/C++与D的混合编译。先建立一个Console工程,如下图:

       image   接下来添加一个test_cpp.cpp文件和一个test_c.c文件,注意一定要写上后缀,要不就会变成.d文件

    image    建好后如下图:

    image    test_c.c文件使用以下代码

    #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;
    }

         编译工程,这时你会发现有一个错误:

    image     这个错误是说dmc这个编译器没找到,这个dmc也是d语言作者的一个c语言编译器。这个可以从作者网站上可以下载得到,或是下载dmd1.0版本里,就有这样一个编译器。这个我们不讨论。

         我们是今天是要介绍与VS的C/C++进行混编,这需要设置一个选项,打开工程属性页把下面两个选项选上:

    image    

         再次编译,如下图:

    image     这时你会神奇的发现,编译完成了。 ~~~~~

         image

          运行成功。

    作者:宛宏南

  • 相关阅读:
    tree related problems (update continuously)
    [单元測试]_[VC2010使用gtest单元測试入门]
    generate alphanumeric serial number
    UiAutomator源代码分析之获取控件信息
    Fckeditor常见漏洞的挖掘与利用整理汇总
    AsyncAwait
    .Net异步编程知多少
    ParameterizedThreadStart task
    AsyncAwait 学习
    8天玩转并行开发——第八天 用VS性能向导解剖你的程序
  • 原文地址:https://www.cnblogs.com/wanhongnan/p/5775640.html
Copyright © 2011-2022 走看看