草庐IT

cpp-core-guidelines

全部标签

c++ - C++ 链接器如何知道要使用哪些 .cpp 文件

我是一名C++学习者,我遇到了将代码分成多个文件以加快大型项目的编译过程的概念。然而,这本书没有告诉我什么,我试图在其他书籍和网络上找到它,但没有运气,链接器(在编译期间)如何知道要包含哪些文件。当我创建新文件时,我使用#include"newfile.h"将它的header连接到主文件,但是在这个header中我没有写在哪里可以找到函数的定义。所以我想象的过程是,它从主文件开始,并在那里找到与其他文件的“连接”。问题是它如何找到那些我认为不需要与其头文件同名的.cpp文件。示例:主文件:#include#include"krneki_H.h"usingnamespacestd;int

【C#】.net core 6.0 设置根目录下某个文件夹可访问,访问创建的图片等资源

欢迎来到《小5讲堂》大家好,我是全栈小5。这是《C#》系列文章,每篇文章将以博主理解的角度展开讲解,特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!目录前言拒绝访问文件路径运行程序配置访问访问效果代码设置框架变化文章推荐前言从.netframework到.netcore2.1、3.1,对于静态文件的访问,也一直都有所变化,目的也是为了确实文件资源的安全。到现在的.netcore6.0,默认情况下非wwwroot文件夹下是无法文档到对应静态文件的,需要进行配置化,本篇就来讲讲如何

c++ - Cpp - 检查 key 是否存在于 boost bimap 中

我有一张双图。我想检查key是否存在于我的bimap中。我怎样才能做到这一点。这是我的双图:namespacebimap{structName{};structID{};typedefboost::bimaps::bimap>,boost::bimaps::set_of>>name_index_bimap;}我想检查“名称”是否存在。 最佳答案 这在thisexample中解释得很清楚。.在您的情况下,它应该如下所示:name_index_mapyour_map;name_index_map::right_const_iterato

c++ - CppUnit 和 CMake : . cpp 文件被编译两次

我目前正在使用CMake构建我的项目,并使用CppUnit对其进行测试。在我的CMake文件中,我创建了两个可执行文件。sample是编译后的源代码本身。使用sample_test我运行测试。如果我是这是我的CMakeLists.txt的一部分SET(SAMPLE_ROOT_PATH${PROJECT_BINARY_DIR})SET(SAMPLE_SOURCE_PATH${SAMPLE_ROOT_PATH}/src)SET(SAMPLE_TEST_SOURCE_PATH${SAMPLE_ROOT_PATH}/test)SET(SAMPLE_BIN_PATH${SAMPLE_ROOT_P

c++ - Cassandra session 线程安全吗? (使用 cpp 驱动程序)

我正在开发一个多线程应用程序并使用Cassandra作为后端。之前,我为每个子线程创建了一个单独的session,并在线程执行结束前关闭session。但后来我认为这可能是一项昂贵的工作,所以我现在将其设计为在服务器启动时打开一个session,任意数量的客户端都可以使用该session进行查询。问题:我只想知道这是否正确,或者有更好的方法吗?我知道连接池是一种选择,但在这种情况下真的需要吗? 最佳答案 它在Java驱动程序中肯定是线程安全的,所以我假设C++驱动程序是相同的。我们鼓励您只创建一个session并让您的所有线程都使用

c++ - 在 CPP 类中声明一个 C 函数作为友元

我需要在C函数中使用类的私有(private)变量。我正在做这样的事情classHelper{private:std::stringname;public:std::getName(){returnname;}friendextern"C"voidinitializeHelper();};但是这段代码给出了错误unqualified-idbeforestringconstant外部“C”{我无法确定我在这里做错了什么。 最佳答案 只需在你的课前转发声明这个函数:extern"C"voidfoo();然后你可以在friend声明中使用

Python3、Boost-Python 和 Cpp 链接器错误

所以我打算把我的笔记本电脑扔出窗外,然后去烧掉AppleHQ。查看以下更新:我无法让python3、boost-python和clang相互协作。我遇到的错误正在运行:clang++-ohello.sohello.cpp调用响应:Undefinedsymbolsforarchitecturex86_64:"__Py_NoneStruct",referencedfrom:boost::python::api::object::object()inhello-0c512e.o"_main",referencedfrom:implicitentry/startformainexecutabl

c# - .NET Core 2 DLL 引用与 C++ 代码运行时错误

小介绍:我正在开发一个.NETCORE2项目,我需要可用于C#的第三方API,但当我检查(dotPeek)那个.dll时,我发现他们使用C++来实现某些功能。环境:VS2017Community,.NETCORE2x86,IISExpress问题:当我添加引用并构建项目时,除了引用处的警告(黄色感叹号)但没有解释外,我没有收到任何错误。当我向使用上述.dll中的类的REST端点发出请求时,我得到了。请注意,其他一切正常。System.TypeInitializationException:Thetypeinitializerfor''threwanexception.--->.Modu

c++ - 如何判断 .cpp 文件在哪个项目中

我接手了一个解决方案中的C++代码。一个解决方案包含许多项目。我编辑了一个.cpp文件,但无法归档它属于哪个项目,所以我不知道要构建哪个项目。构建整个解决方案需要很长时间。如何找出.cpp文件属于哪个项目? 最佳答案 在VisualStudio中,单击编辑-查找和替换-在文件中查找上面写着“查找内容”的地方输入您感兴趣的文件的名称。其中显示“查看:”输入您要搜索的路径或使用[...]浏览按钮其中显示“查看这些文件类型:”输入*.vcxproj它应该在“查找结果”窗口中列出包含该文件的所有项目文件。

c++ - 包含在 header 或 cpp 中——Qt 中首选的是什么

当我写一个C++类时,我只在头文件中包含了特定情况。我更喜欢前向声明,我相信这是C++中的最佳实践。但是Qt类通常有很多属于标准Qt类的字段,因此将它们全部写在前向声明中似乎不是一个好主意。有什么首选方法吗?Qt有大量的文档,所以我认为它已经回答了我的问题,但我才刚刚开始阅读它。 最佳答案 我的规则是头文件只包含那些定义相关头文件使用的功能的文件。假设您在header中有指向某个类Foo的指针和引用,但header从未插入或实例化这些对象。在这种情况下,您不需要类的定义。您只需要一个前向声明。另一方面,如果您插入类型为Foo的对象,