- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在修改大量遗留 C++ 代码,这些代码对旧的 commoncpp 库有一些依赖。我们想用更现代的东西(例如 Boost)替换 commoncpp。
首先我需要找到所有使用commoncpp提供的函数和方法的地方。显而易见的蛮力方法需要太多时间(特别是对于像我这样认为计算机应该完成繁琐工作的“懒惰”程序员:-)。
我正在寻找有关如何加快该过程的想法。
如果 ld
有一个标志,上面写着“继续寻找外部引用并吐出任何丢失的引用”,这可能会完成所需的一切。
我们的代码分布在许多目录中,具有分层递归 Makefile,如果这对建议的解决方案有所不同的话。
环境是带有 Gnu 编译器链的 FreeBSD。
我也用 C 标记了它,因为大多数可以为 C 解决此类问题的解决方案也应该为 C++ 解决它。
(猜你不能格式化评论)
在我的构建中使用 --cxref
,然后使用此管道:
% egrep 'ccgnu2|ccext2' output.txt | sort | uniq
给我这个:
on-virtual thunk to ost::ttystream::~ttystream() ../../lib/libccext2.so
non-virtual thunk to ost::unixstream::~unixstream() ../../lib/libccext2.so
ost::CRC16Digest::getSize() ../../lib/libccext2.so
ost::CRC16Digest::initDigest() ../../lib/libccext2.so
ost::CRC16Digest::~CRC16Digest() ../../lib/libccext2.so
ost::CRC32Digest::getSize() ../../lib/libccext2.so
我想知道我是否可以使用上述内容来获得我需要的东西。
最佳答案
来自 the ld
man page :
--warn-unresolved-symbols
If the linker is going to report an unresolved symbol (see the option --unresolved-symbols) it will normally generate an error. This option makes it generate a warning instead.
您需要做的就是在不链接实际库的情况下进行编译。
在我的机器上:
~/workspace/jos$ make 2>&1 | grep reference
lib/spawn.c:129: warning: undefined reference to `copy_shared_pages'
user/primes.c:25: warning: undefined reference to `fork'
.
.
.
关于gcc - C++ 查找并删除对很少使用的库的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16676390/
我有 python 应用程序,它需要每天执行大约 20 000 次专有应用程序(不时崩溃)。 问题是当应用程序崩溃时,Windows 会自动触发 WerFault这将使程序挂起,因此 python's
我弄清楚这里的问题是什么。很少(50 个数据中有 3 个)插入到数据库中的数据不完整,如下所示: 用于插入的 PHP 代码是正确的。数据库中没有值的所有值都来自 SELECT 标记 HTML(year
我有一个包含对象的列表,其中包含以下字段:完整、不完整、继续。我想根据这三个部分对我的列表进行排序。首先,我想添加 header: INCOMPLETE 和所有元素(如果此字段为真)。之后我想添加标题
我们有一个名为模型的包 在模型中,我们有一个 TopicM 模块,它定义了一个类 Topic我们将它导入同一个包中名为 GeneralM 的模块中。有时(很少)我们会收到此错误: 可能是什么原因?会不
通过简单地将 TextViews 文本设置为在代码中定义的字符串(永远不能是 null)我有时会得到一个 ArrayIndexOutOfBoundsException,这只发生在我的实时应用程序中,我
我在 NodeJS 中运行一个 restify 服务器。在极少数情况下,大约 0.05% 的 HTTPS 请求会导致 net.js 报告以下错误: Error: accept EPERM at
我不明白,为什么Eclipse更新变得如此不可靠?大约每次使用它时,我都会遇到一些问题! 例如,现在我遇到下面一堆谵妄。禁用“联系所有软件站点”没有帮助。 An error occurred whil
为了呈现一堆节点,每帧一个,直到它们都出现在屏幕上,我想在 update() 调用中做这样的事情。 警告,伪代码接近: update(){ switch presentNodes_inOrderOfA
此 NSPersistentStoreCoordinator 没有持久存储。它无法执行保存操作。 NSInternalInconsistencyException(SIGABRT) This NSPe
我是一名优秀的程序员,十分优秀!