草庐IT

link-checking

全部标签

c++ - 自动配置/自动制造 : How to avoid passing the "check" option to AC_CONFIG_SUBDIRS

我正在使用Autoconf构建我的C++项目。它使用第三方代码,这些代码也是在Autoconf/Automake的帮助下构建的。所以在我的configure.ac中有以下行:AC_CONFIG_SUBDIRS([subdirectoryname])一切正常,但我还使用该功能让测试在执行makecheck时自动进行-这也是由第三方代码完成的。因为这些测试需要一段时间,所以每次我想测试自己的代码时都执行它们很烦人。那么有没有办法避免check选项被传递给子目录的Makefile呢?更新:覆盖check-recursive似乎不是一个选项,因为我的顶级Makefile.am看起来(或多或少)

c++ - 氧气/C++ : how to link to anonymous namespace variables

我正在使用Doxygen来记录我的代码。许多代码在定义常量的cpp文件中都有匿名namespace。我已经设置:EXTRACT_ANON_NSPACES=YES在我的Doxygen文件中,所有匿名命名空间都按需要进行了记录。我的问题是我想引用匿名命名空间中的变量。例如,假设其中一个命名空间在我的Doxygen文档中定义在MyClass::anonymous_namespace{MyFile.cpp}::kMyConstant下。我认为另一个注释block(例如,一个函数)可以链接到该常量,例如:@seeMyClass::anonymous_namespace{MyFile.cpp}::

c++ - std::error_code,my_error::check_block == my_error::validate && my_error::accept_block == my_error::validate

我正在使用std::error_code并定义和注册了一堆错误(使用枚举类)。我有一个非常通用的错误,现在称为my_error::validate,但我想在我的库中提供更具体的版本。通常人们会想要使用:if(ec==bc::error::validate)//...但是有时他们可能希望看到与该std::error_code关联的特定错误或打印错误消息。//ec.message()says"check_block()failedtodoXYZ"assert(ec==bc::error::check_block);我希望能够启用如下功能:if(ec==bc::error::validate

c++ - QObject : Missing vtable link error

我知道这个问题已经被问过很多次了,但我在这里和谷歌中都找不到解决方案。这是我的头文件#ifndefMAINCONTROLLER_H#defineMAINCONTROLLER_H#include#include#include#include#include"PhTools/PhString.h"#include"PhStrip/PhStripDoc.h"classMainController:publicQObject{Q_OBJECTpublic:explicitMainController(QObject*parent=0);voidloadSettings();PhStringg

c++ - C/C++ : What is the difference between a statically-linked library and an object file?

我知道编译时包含在可执行文件中的代码可能来自目标文件(.o文件)和静态链接库(.lib/.a文件)。这两者在根本上和概念上有什么区别?为什么“目标代码”和“静态链接库”之间有不同的概念?各自的优点和缺点是什么,为什么要使用一个而不是另一个?静态链接库是否可以从目标文件生成,反之亦然,目标文件是否可以从静态链接库生成? 最佳答案 目标文件是已编译但未链接的代码。库包含目标文件。因此你的问题变成了,“如果我只能使用目标文件,为什么要使用静态链接库?”原因如下。与对象集合不同,每个对象都有自己的符号表,库有一个单一的、统一的符号表,在库调

c++ - BOOST_CHECK 无法为自定义类型编译 operator<<

我写了这个非常简单的类,以便清楚我的问题是什么:classA{public:intx;A(inty){x=y;}booloperator==(constA&other)const{returnx==other.x;}};现在,如果我定义Afirst(1)和Asecond(1),对我来说BOOST_CHECK_EQUAL(first,second)应该通过是很自然的。然而,我在尝试这样做时遇到了50个错误,第一个听起来像:nomathforoperator 最佳答案 我确定了三种方法来解决operator的问题.第一种方式是提供一个o

C++ 11 正则表达式 : checking if string starts with regex

我正在使用C++11的支持,并想检查字符串的开头是否与正则表达式匹配。[如果有帮助,我可以切换到Boost,但我的印象是它们基本相同。]显然,如果我可以控制表达式的实际文本表示,我可以只粘贴^在它的开头作为anchor。但是,如果我只有一个regex怎么办?(或basic_regex)对象?我可以修改它代表的正则表达式来添加anchor吗?或者我必须使用regex_search,得到结果,检查是否从位置0开始? 最佳答案 您可以在使用regex_search时添加std::regex_constants::match_continu

c++ - SIMD/SSE : How to check that all vector elements are non-zero

我需要检查所有vector元素是否非零。到目前为止,我找到了以下解决方案。有一个更好的方法吗?我在Linux/x86_64上使用gcc4.8.2,指令高达SSE4.2。typedefcharChrVect__attribute__((vector_size(16),aligned(16)));inlinebooltestNonzero(ChrVectvect){constChrVectvzero={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};return(0==(__int128_t)(vzero==vect));}更新:上面的代码被编译为以下汇编代码(当编译为非

c++ - 什么是 "orthogonal linked list"?

我明白什么是链表,但我的问题是什么是正交链表?我在网上搜索但找不到任何有用的信息。最近在研究C++中的likedlist,如果有关于链表的好书请指点。 最佳答案 这不是一个很常见的术语,但是,根据theDictionaryofComputing,它是一个多维链表,其元素包含指向每个维度中邻居的指针。取一个简单的矩阵:123456789然后,元素5将有一个指向4和6的指针,但也指向2和8。以下问题可能对C++书籍有帮助:TheDefinitiveC++BookGuideandListhttps://stackoverflow.com/

c++ - 如何在 C/C++ 中以编程方式创建软链接(soft link)?

如何在C/C++中以编程方式创建软链接(softlink)?freebsd中的link()系统调用将创建一个硬链接(hardlink)。 最佳答案 你想要的系统调用是symlink(2).#includeintsymlink(constchar*name1,constchar*name2);Asymboliclinkname2iscreatedtoname1 关于c++-如何在C/C++中以编程方式创建软链接(softlink)?,我们在StackOverflow上找到一个类似的问题: