小编gma*_*ari的帖子

如何读取nm输出?

那是我的代码:

int const const_global_init = 2;
int const const_global;
int global_init = 4;
int global;

static int static_global_init = 3;
static int static_global;

static int static_function(){
    return 2;
}

double function_with_param(int a){
    static int static_local_init = 3;
    static int static_local;

    return 2.2;
}

int main(){
}
Run Code Online (Sandbox Code Playgroud)

我生成main.o并尝试理解nm输出.我使用后nm main.o --printfile-name -a得到这个输出:

main.o:0000000000000000 b .bss
main.o:0000000000000000 n .comment
main.o:0000000000000004 C const_global
main.o:0000000000000000 R const_global_init
main.o:0000000000000000 d .data
main.o:0000000000000000 r .eh_frame
main.o:000000000000000b T function_with_param
main.o:0000000000000004 C global …
Run Code Online (Sandbox Code Playgroud)

c linux nm

9
推荐指数
1
解决办法
8890
查看次数

"接受临时"警告

可能重复:
在vector <bool>中访问元素的地址时获取临时地址

我在下面的代码中得到了第7行的'临时'警告地址

vector<bool> boolVect;
bool x = true;
boolVect.push_back(true);
boolVect.push_back(false);
ofstream fMetaOut("tmp.txt", ios::out);
fMetaOut.write((char* )&x, sizeof(bool));
fMetaOut.write((char* )&boolVect[0], sizeof(bool));
fMetaOut.close();
Run Code Online (Sandbox Code Playgroud)

为什么我在第7行而不是第6行得到这个警告?两者都使用布尔地址.
我怎么能摆脱这个警告?

c++

-2
推荐指数
1
解决办法
2446
查看次数

标签 统计

c ×1

c++ ×1

linux ×1

nm ×1