我可以使用哪些编译器将C ++与D链接?

好奇乔治

我想创建一个包含C ++和D的程序,并且希望能够作为一个单独的项目进行处理。

我的理解是,我可以使用某些D编译器输出* .obj文件,然后可以对某些C ++编译器执行相同的操作,然后将所有* .obj文件链接到一个二进制文件中,这是正确的吗?

如果正确,是否可以将任何C ++编译器与任何D编译器一起使用?还是我仅限于某些组合,例如DMD-DMC,LDC-Clang和GDC-GCC?

我使用哪个链接器?

我要使用哪个标准库?

亚当·鲁佩

从理论上讲,您可以混合使用编译器,但实际上,有时会遇到目标文件格式和标准库混合的问题,尤其是在32位Windows上。那里很难,但在其他地方也并不算太糟,因为大多数事物都是基于事实上的标准,例如MSVC和gcc。

Win32:将dmc ++(数字火星编译器和C运行时)与dmd OR g ++和gdc一起使用。可以进行其他组合,但是很杂乱。跨编译器系列在Win32中混合代码的最佳方法是使用C或COM api构建DLL,然后从D使用它。

Win64:由于dmd使用64位Microsoft格式和C库,因此将dmd与Visual C ++代码混合应该没有什么麻烦。我不确定带有dmd的Windows64上的g ++。

包括Linux在内的大多数其他平台:dmd与g ++以及gdc + gcc都可以很好地协同工作。我不确定ldc和g ++是否兼容,但是ldc在任何平台上也可以与其他基于LLVM的编译器一起正常工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以使用C / C ++编译器吗?

来自分类Dev

是否可以使用夜间编译器编译一个特定的库,并将其链接到在稳定状态下编译的项目?

来自分类Dev

我可以使用符号链接将C:\ Users“移动”到另一个驱动器吗?

来自分类Dev

Libtool / clang:让我将参数传递给编译器,但不传递链接器

来自分类Dev

英特尔编译器:将fortran编译库链接到C的主程序

来自分类Dev

英特尔编译器:将fortran编译库链接到C的主程序

来自分类Dev

使用distutils构建C Extension时打印打印编译器和链接器命令

来自分类Dev

是否允许C ++编译器/链接器删除未使用的方法?

来自分类Dev

C Cross编译器将extern声明为静态链接?

来自分类Dev

为什么我可以使用非 nvcc 链接器跳过“设备代码链接”?

来自分类Dev

使用编译器内置函数而不链接c标准库

来自分类Dev

使用哪个D编译器?

来自分类Dev

使用哪个D编译器?

来自分类Dev

Borland C ++编译器中的链接DLL

来自分类Dev

Gtest无法在Mac上使用默认编译器链接

来自分类Dev

编译器会优化未使用的链接文件吗?

来自分类Dev

我可以使用Autodesk Viewing API将本地DWG(2D)文件渲染到浏览器吗?

来自分类Dev

如果仅包含头文件,则编译器如何找出将在我的代码中使用哪个动态链接库?

来自分类Dev

添加C ++编译器,在ubuntu中将链接器标志链接到nsight eclipse 6.5

来自分类Dev

在我的Web服务器中可以使用符号链接吗?

来自分类Dev

在我的Web服务器中可以使用符号链接吗?

来自分类Dev

我可以使用哪个Swing文本组件在浏览器中打开超链接?

来自分类Dev

将D库链接到Ruby

来自分类Dev

尽管可以使用在线编译器很好地编译C ++函数,但无法在我的计算机上编译C ++函数

来自分类Dev

是否可以使用C#编译器添加PostSharp进行动态编译

来自分类Dev

使用for循环的D3链接动画

来自分类Dev

我可以使用Revo Uninstaller从驱动器D(不是C的分区)中删除程序吗?

来自分类Dev

我可以使用GCC编译器和Clangd Language Server吗?

来自分类Dev

代码::块,如何将链接器选项`-lstdc ++`放在编译器命令的末尾?

Related 相关文章

  1. 1

    我可以使用C / C ++编译器吗?

  2. 2

    是否可以使用夜间编译器编译一个特定的库,并将其链接到在稳定状态下编译的项目?

  3. 3

    我可以使用符号链接将C:\ Users“移动”到另一个驱动器吗?

  4. 4

    Libtool / clang:让我将参数传递给编译器,但不传递链接器

  5. 5

    英特尔编译器:将fortran编译库链接到C的主程序

  6. 6

    英特尔编译器:将fortran编译库链接到C的主程序

  7. 7

    使用distutils构建C Extension时打印打印编译器和链接器命令

  8. 8

    是否允许C ++编译器/链接器删除未使用的方法?

  9. 9

    C Cross编译器将extern声明为静态链接?

  10. 10

    为什么我可以使用非 nvcc 链接器跳过“设备代码链接”?

  11. 11

    使用编译器内置函数而不链接c标准库

  12. 12

    使用哪个D编译器?

  13. 13

    使用哪个D编译器?

  14. 14

    Borland C ++编译器中的链接DLL

  15. 15

    Gtest无法在Mac上使用默认编译器链接

  16. 16

    编译器会优化未使用的链接文件吗?

  17. 17

    我可以使用Autodesk Viewing API将本地DWG(2D)文件渲染到浏览器吗?

  18. 18

    如果仅包含头文件,则编译器如何找出将在我的代码中使用哪个动态链接库?

  19. 19

    添加C ++编译器,在ubuntu中将链接器标志链接到nsight eclipse 6.5

  20. 20

    在我的Web服务器中可以使用符号链接吗?

  21. 21

    在我的Web服务器中可以使用符号链接吗?

  22. 22

    我可以使用哪个Swing文本组件在浏览器中打开超链接?

  23. 23

    将D库链接到Ruby

  24. 24

    尽管可以使用在线编译器很好地编译C ++函数,但无法在我的计算机上编译C ++函数

  25. 25

    是否可以使用C#编译器添加PostSharp进行动态编译

  26. 26

    使用for循环的D3链接动画

  27. 27

    我可以使用Revo Uninstaller从驱动器D(不是C的分区)中删除程序吗?

  28. 28

    我可以使用GCC编译器和Clangd Language Server吗?

  29. 29

    代码::块,如何将链接器选项`-lstdc ++`放在编译器命令的末尾?

热门标签

归档