gpt4 book ai didi

c++ - 在 C++ 项目中找不到程序入口点

转载 作者:搜寻专家 更新时间:2023-10-31 01:05:17 32 4
gpt4 key购买 nike

我在 Ubuntu 12.04 中有一个 C++ 项目。要运行该项目,make 文件需要以下文件:

1-所有.cpp文件

2-所有.h文件

3-三个共享库。

该项目功能齐全,并按照规范执行。所有必需的 .cpp 文件和 .h 文件都可用。问题在于任何源文件中都没有 main() 函数,并且程序入口点位于三个共享库之一中。我的工作是找出程序执行管道,没有任何主文件我无法做到这一点。我无法在任何 IDE(即:eclipse)中运行该项目,因为没有可用的主要功能。

问题:请问如何找到程序入口点?

P.S:我很乐意提供您可能需要的任何类型的信息或 Material 来解决我的问题。

编辑:CMakeLists.txt 文件可用here .

编辑 2:可用的 build.sh 文件 here .

最佳答案

要找到实体点,请查看每个共享对象:

nm $library | egrep "T main$"

带有 main() 的库会输出类似

090d8ab0 T main

可视化执行树的非常有用的方法是运行:

valgrind --tool=callgrind ./my_executable -arg -arg ....

(您可以使用 Ctrl+C 提前中止执行)​​

这将输出 callgrind.<pid>文件。要将其可视化,请运行 kcachegrind callgrind.<pid> .


您将需要valgrind:

sudo apt-get install valgrind

kcachegrind

sudo apt-get install kcachegrind

关于c++ - 在 C++ 项目中找不到程序入口点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22761982/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com