Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 什么是「;芒克;?它是如何与cfront一起使用的_C++_C_Cfront - Fatal编程技术网

C++ 什么是「;芒克;?它是如何与cfront一起使用的

C++ 什么是「;芒克;?它是如何与cfront一起使用的,c++,c,cfront,C++,C,Cfront,什么是cffront软件包中的munch库(或程序?)? 用于什么?Munch用于扫描nm输出并查找静态构造函数/析构函数 请参阅上的(带注释) 使用Munch扫描nm输出并查找静态构造函数/析构函数 请参阅上的(带注释) 显然是它。显然是它。“咀嚼”并不是特定于cfront 在C++中,构造函数和析构函数基于它们的生存期被隐式调用。 全局静态对象具有整个程序的生命周期。 如果在不同的转换单元中有多个全局静态对象, 谁先建造 这取决于编译器,它通常被命名为。 通常情况下,您不会关心构造顺序,但如

什么是
cffront
软件包中的munch库(或程序?)?
用于什么?

Munch用于扫描nm输出并查找静态构造函数/析构函数


请参阅上的(带注释)

使用Munch扫描nm输出并查找静态构造函数/析构函数

请参阅上的(带注释)

显然是它。

显然是它。

“咀嚼”并不是特定于
cfront

在C++中,构造函数和析构函数基于它们的生存期被隐式调用。 全局静态对象具有整个程序的生命周期。
如果在不同的转换单元中有多个全局静态对象,
谁先建造

这取决于编译器,它通常被命名为。
通常情况下,您不会关心构造顺序,但如果您的对象彼此之间存在生命周期依赖关系,它最终可能会咬到您。请参阅上的以下常见问题解答

尽管如此,“muncher”还是一个c代码生成器。
您将所有C++对象文件都命名为mangler,
并将名称mangler的输出转发到muncher。
*.o->nm->muncher->*.c

典型实现将生成两个函数表
(指向构造函数和析构函数的函数指针数组)
+一点组装以确保他们被调用

有时,您需要告诉链接器具体初始化的顺序,
而这正是芒彻的用武之地

“咀嚼”不是特定于
cfront

在C++中,构造函数和析构函数基于它们的生存期被隐式调用。 全局静态对象具有整个程序的生命周期。
如果在不同的转换单元中有多个全局静态对象,
谁先建造

这取决于编译器,它通常被命名为。
通常情况下,您不会关心构造顺序,但如果您的对象彼此之间存在生命周期依赖关系,它最终可能会咬到您。请参阅上的以下常见问题解答

尽管如此,“muncher”还是一个c代码生成器。
您将所有C++对象文件都命名为mangler,
并将名称mangler的输出转发到muncher。
*.o->nm->muncher->*.c

典型实现将生成两个函数表
(指向构造函数和析构函数的函数指针数组)
+一点组装以确保他们被调用

有时,您需要告诉链接器具体初始化的顺序,

而这正是芒彻的用武之地

该链接已被访问,但我在查看代码后没有获得munch的功能。我怀疑这是
collect2
为GCC所做的。该链接已被访问,但我在查看代码后没有获得munch的功能。我怀疑这是
collect2
为GCC所做的。