gpt4 book ai didi

c++ - ofstream::open() 上的段错误如果在函数外部定义

转载 作者:太空宇宙 更新时间:2023-11-04 09:11:47 26 4
gpt4 key购买 nike

<分区>

我正在编写一个小的共享库来通过 LD_PRELOAD 测试一些东西,我想将日志写入一个文件。

以下代码有效:

void ctor() __attribute__((constructor));
void dtor() __attribute__((destructor));

void ctor() {
std::ofstream log_file;
log_file.open("/home/tristan/Test.log");
log_file << "Log Stuff..." << std::endl;
log_file.close();
}

这会导致段错误:

void ctor() __attribute__((constructor));
void dtor() __attribute__((destructor));

std::ofstream log_file;

void ctor() {
log_file.open("/home/tristan/Test.log");
log_file << "Log Stuff..." << std::endl;
log_file.close();
}

这是为什么呢?也许与构造函数属性有关?

我的 GCcflags如下:

gcc -fPIC -m64 -shared -lstdc++ -o Test.so *.cpp 

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