Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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
Linux中与结构大小相关的命令是什么_Linux_Gcc_G++_Command_Sizeof - Fatal编程技术网

Linux中与结构大小相关的命令是什么

Linux中与结构大小相关的命令是什么,linux,gcc,g++,command,sizeof,Linux,Gcc,G++,Command,Sizeof,您好,不久前我在Linux中遇到一个命令,该命令打印在一个文件中,文件名与源代码文件名相同,但扩展名不同,源代码中定义的结构大小的详细用法……请告诉我任何此类命令 谢谢我猜你说的是nm,它列出了对象文件中的符号。一个简单的例子: 文件test.c int int_array[10]; double double_array[10]; int main() { int_array[0] = 0; double_array[0] = 0; return 0; } 生成对象文

您好,不久前我在Linux中遇到一个命令,该命令打印在一个文件中,文件名与源代码文件名相同,但扩展名不同,源代码中定义的结构大小的详细用法……请告诉我任何此类命令


谢谢

我猜你说的是nm,它列出了对象文件中的符号。一个简单的例子:

文件test.c

int int_array[10];
double double_array[10];

int main()
{
   int_array[0] = 0;
   double_array[0] = 0;

   return 0;
} 
生成对象文件:

$ gcc -c test.c
现在列出包含大小信息的符号:

$ nm -S test.o
这会在我的macbook上打印类似的内容:

0000000000000040 n EH_frame0
0000000000000050 C _double_array
0000000000000028 C _int_array
0000000000000000 T _main
0000000000000058 N _main.eh

查看nm手册页以了解更多信息(http://linux.about.com/library/cmd/blcmdl1_nm.htm)

你能详细说明你的问题吗?您所说的在文件中打印是什么意思,
sourcecode filename
结构大小的详细用法
?可以合理猜测,
magic_命令sourcefile.c
会生成其他一些文件
sourcefile.x
,其中包含有关文件中各种结构大小的一些信息。了解大小信息是什么以及文件中是否打印了其他内容是很有意思的。hello@Jonathan Leffler..是的,正是..用于分析您提供给编译器的带有特定开关/选项的源文件和输出文件(与源代码文件同名,但扩展名不同)在评论中包含关于每个结构的各种尺寸等的详细信息…我遇到了这样一个有用的命令,现在我后悔没有记下来。我想我正在寻找有关结构填充的信息,然后我遇到了这篇文章(不确定是哪个网站)海报上张贴了这个命令,并解释了一些代码。请让我知道&/may helphello@ather.anon.coward你对我的帖子的回复没有什么帮助。我找不到那个特定的命令,那个命令与GDB无关。如果我没有错的话。无论如何,如果你发现了一些特定的和有用的东西,请告诉我更好,谢谢