C/C++开发
我正在寻找针对C++推荐的g++警告选项列表,但只找到了以下内容:Recommended gcc warning options for C和Useful GCC flags for C,它们都是C语言特有的 -WALL和-WExtra启用GCC可以生成的大部分(但不是全部)警告。 哪些警告不是由这些选项启用的,尤其是在编译C++时? 推荐答案 -Wall -Wextra往
..
如果此问题已得到回答,请原谅。 #include #include #include using namespace std; int main () { srand( time(NULL) ); cout
..
我的GCC版本(5.4)警告未使用的static函数,即使在使用-Wall时在头文件中也是如此。如果定义了相同的函数static inline或简单地定义了inline,则不会出现错误。 例如,文件中的以下函数unused.h: static void foo() {} .包括在test.cpp文件中时,如下所示: #include "unused.h" 使用-Wall编
..
我要对照两个列车图像检查场景图像。 为此,我检测了两个训练图像的特征并计算了描述符。 在检测、计算和匹配场景图像之前,我将删除Train 1和Train 2的所有匹配项。因为这些匹配将不会促进场景图像与Train1和Train2的匹配。 因此,我将Train 1与Train2进行匹配,并获得与Train Idx和queryIdx匹配的向量。但是,如何删除Train 1和Train 2的关键点
..
是否可以使用Clion运行针对Windows的远程调试会话? 文档说我可以执行任何具有gdbserver: 的系统 远程操作系统:任何支持gdb服务器和SSH 但是,当我尝试运行我的远程应用程序时,我收到错误: 10:53 PM Build finished in 3 sec, 44 ms 10:53 PM Error running 'remote'
..
我想在Clion中通过cmake添加glfw依赖项,但我收到奇怪的错误,这是CMakeLists.txt cmake_minimum_required(VERSION 3.17) project(hello_gl) set(CMAKE_CXX_STANDARD 14) find_package(glfw3 3.3 REQUIRED) target_link_libraries(hell
..
我正在学习C++中OpenGL的教程(YouTube上的Cherno)。我有以下代码,但无论我尝试什么,我都无法画出一个三角形。创建了一个窗口,我没有得到任何错误等,我甚至可以用glClearColor更改背景颜色。但没有三角形! 仅供参考,我是通过Homebrew安装GLFW/Glew的,我使用的是Clion。 CMakeList.txt cmake_minimum_requi
..
我正在尝试使用Clion编写一些基本的C++程序,但每次我使用std::cin或std::getline输入一些输入时,输入都会无缘无故地打印回控制台。 例如,如果我运行此程序 #include #include int main(){ string name; std::cin >> name; std::cout
..
我需要使用Google代码样式自动格式化我的C++代码,并通过cpplint检查。 我已使用++L自动格式化Clion中的代码,但格式化后的代码仍然不遵循Google代码样式。 我安装了Clion-cpplint插件,这个插件只告诉我它不遵循风格的地方。但我需要一个工具来自动格式化它。 谢谢。 推荐答案 在项目的根目录中创建名为.clang-format的文件,其代码
..
我有一些用纯C编写的库,现在我正在创建一些单元测试,但测试库是用C++而不是C编写的。当我将NULL传递给被测API函数时,Clion会提示我传递nullptr而不是NULL。在这种情况下,将nullptr传递给纯C函数是否安全? 推荐答案 在这种情况下将nullptr传递给纯C函数是否安全? 我想是的。发件人the C++11 standard (4.10 Pointer co
..
我的CMakeLists.txt文件是: cmake_minimum_required(VERSION 3.7) project(OpenCV_Basics) set(CMAKE_CXX_STANDARD 11) set(SOURCE_FILES main.cpp) find_package(OpenCV REQUIRED) include_directories(${OpenCV_I
..
我想在我的项目中使用GMock。首先,我编译了GMock和GTest。我的操作顺序(我使用Linux): Git克隆googlemock和googletest 转到git/googletest/googlemock/Build-aux/目录run cmake.. 然后制作 我得到的结果是:libgmock.a和libgmock_main.a My project的结构为:构建、In
..
当无法通过被调用函数的不同输入参数识别调用时,我如何从模拟工厂返回多个对象?unique_ptr 我正在做此操作: EXPECT_CALL(MyFactoryMock, create()) .WillRepeatedly(Return(ByMove(std::make_unique()))); 运行时错误为: [致命] /.../tools
..
如何从返回STD::UNIQUE_PTR的模拟工厂函数返回多个模拟对象? Return(ByMove(...))不能用于多次返回。 正在尝试根据以下答案进行工作: https://stackoverflow.com/a/70751684/3545094 我想出了这个: class MyType { public: virtual ~MyType() {} }; clas
..
给定以下模拟方法 MOCK_METHOD2(send, int(const void* pBuffer, size_t szBuffer)); 和以下用法 EXPECT_CALL(socketMock, send(_, _)) .Times(1) .WillOnce(ReturnArg()); 由于szBuffer隐式转换为int的返回类型,将在Retur
..
我有一个C++11头文件,它有一个声明为my_const_value的常量值。以及一个名为GetValue的函数,该函数使用const值运行复杂逻辑并返回期望值。 我想用my_const_value的不同值对GetValue进行单元测试。 我知道这不可取,但为了编写GetValue的单元测试,我希望使用不同的my_const_value值来测试GetValue。在C++中是否有一些类似
..
我正在对派生类进行单元测试,希望EXPECT_CALL调用属于其基类的某个方法。 例如: class Base { public: void move(int x, int y); }; class Derived: public Base{ public: RESULT update(); private: int age; }; HRESULT Der
..
我已经编写了一个类似下面的Google测试,将一些计算值与CSV文件中存储的预期值进行比较。 class SampleTest : public ::testing::Test{ public: void setupFile(const std::string& filename) { // open csv file here } void che
..
我发现Google测试有一个意想不到的行为,当涉及到死亡测试和对模拟对象的期望时。 检查以下示例: #include #include class Interface { public: virtual void foo() = 0; }; class InterfaceMock : public Interface {
..
我怎么能预期Google测试会有多个失败?我在测试被测代码中发生断言时使用它。因为这些断言不是致命的,所以可能会发生多个。 以下测试用例再现了这一点: void failTwice() { EXPECT_TRUE(false)
..