相关疑难解决方法(0)

5
推荐指数
0
解决办法
435
查看次数

哪种语言会调用C++而没有明确的桥接?

在开发新产品的过程中,我们决定采用C++和C#的混合方式,但有人告诉他们将它们联系起来以允许C#代码调用C++代码很容易(更糟糕的是,它不是).

我们是非常有经验的C++程序员,而不是所有C#程序员,因此我们几乎不得不相信我们所读过的内容.一些调用C和Objective-C的尝试很有希望,我们甚至发现了一些文章,展示了如何在C#中提供非托管C++类 - 或者至少我们认为.文章中的C++代码不是C++,而是微软似乎认为可怕的怪物C++/CLI是C++.由于我们正在做C#的东西,以便在macOS和Windows中"免费"获取一些内容,因此C++/CLI也不是一个选项:-(.

无论如何,很多人都声称从一些特定的编程语言中调用C++代码很容易,但到目前为止,我还没有看到一个允许我这样做的单一代码(我没有过多关注这个,请给我一个明显的例子).C++总是意味着C完全没有C++的东西; 没有名称空间,类,没有stl,lambdas或任何东西.只是简单的愚蠢C.

那么,还有没有任何语言,除了C++(/ CLI),因此允许我做到以下几点:

  1. 使用C++构造函数创建类的实例,并使用C++析构函数调度它.

  2. foo f; f.foo();使用C++类在object()上调用成员函数.

  3. 使用std::vector,std::find_if,std::string和STL的其他的东西.不需要完全覆盖stl.

  4. 使用重载函数(即f(),f(int),f(std::string))

  5. 使用重载运算符(foo operator + (foo, foo))

  6. 使用C++ 11,C++ 14和/或C++ 17功能.

  7. 使用RAII(相当重要的恕我直言).

  8. 使用名称空间.

c++

3
推荐指数
2
解决办法
167
查看次数

开发过程中每次都需要重新编译C++代码吗?

假设我们有一个庞大的代码库,并且我们正在使用 C++ 进行开发。我们是否每次都必须重新编译才能测试代码?

如果是的话,那么开发将需要很长时间。

这个问题的解决办法是什么?

c++ gcc g++ clang llvm-clang

3
推荐指数
1
解决办法
5736
查看次数

在c ++程序中添加不必要的花括号{}会减慢它吗?

这可能是一个愚蠢的问题,但我是C++和编程的新手,我在这里找不到答案.我知道在C++中,{}在某些情况下是可选的.例如,如果您有一个只执行一个操作的简单if语句,则不需要用{}括起它.

我只是想知道额外的括号是否对程序的速度有任何影响(即使是最小的).我问的原因是因为我总是在我的所有语句中包括大括号,即使不是必需的,只是因为我想阻止我的代码.

我个人的偏好是:

   if (foo)
   {
        bar;
   }
Run Code Online (Sandbox Code Playgroud)

而不是简单

   if (foo)
       bar;
Run Code Online (Sandbox Code Playgroud)

我只是喜欢阅读代码时的样子.但是,如果这实际上对代码的速度有影响,那可能不是一个好主意.有谁知道额外的括号是否会影响速度?谢谢.

c++

0
推荐指数
1
解决办法
1277
查看次数

为什么只有 C 和 C++ 代码会直接转换为 exe,而 Python 和 Java 需要外部转换器才能在编译后执行此操作?

只有 C 和 C++ 转换为 exe 在编译级别会发生什么?所有应用程序都必须是exe才能在Windows上运行,那么为什么这些语言不包含编译后生成exe文件的功能呢?

c c++ python java

-5
推荐指数
1
解决办法
1049
查看次数

标签 统计

c++ ×4

c ×2

clang ×1

g++ ×1

gcc ×1

interpreter ×1

java ×1

llvm-clang ×1

python ×1