我们如何确定用户定义类型的“真实”类型?

时间:2012-01-01 19:57:09

标签: c

我将重新开始使用C语言编程。之前我还没有在linux中做任何事情,而我以前的编码是在DOS下用Borland 3.1完成的 - 所以我有很多事要做!我正在玩“codelite”IDE,因为它似乎很好用。到目前为止,只有麻烦,但我糊里糊涂。在这一点上,我被困在了看:

{
    Display *display;
    int x;
    ...

如何确定“展示”的类型?在古老的Borland中,将光标移动到类型上,然后点击F1,它会告诉您:-)我想要打印'display'的值,但不知道要使用哪种格式说明符。

哦,任何人可能对像我这样的人有任何一般性的建议,只是现在从DOS中的C编码跳到Linux将受到热烈欢迎!

2 个答案:

答案 0 :(得分:3)

我不知道codelite IDE - 如果它有这个选项,那将是最简单的 困难的方法是挖掘头文件。
另一种方法是使用-E标志编译代码,它只是打开包含和定义。在(非常大)输出中,找到显示并查看它是如何定义的。

答案 1 :(得分:3)

如果使用gdb调试器(假设您一如既往地使用gcc -Wall -g进行编译),您还可以使用ptype Display内的gdb命令。

你使用Display让我猜你对图形用户界面感兴趣(因为DisplayXlib的事情)。然后我强烈建议使用功能强大的GUI工具包库,例如 GTK3 (在C中)或 Qt4.8 (在C ++中)。不要直接使用Xlib;你会迷路的!

对于需要真实终端的控制台应用程序,请考虑使用ncursesreadline库。

您不需要IDE在Linux下进行编码(emacs + make + gdb + gcc + grep + etags没事)。使用gcc -Wall -g编译您的C代码,并更正它,直到您不再收到警告为止。即使对于个人项目,也可以使用git等版本控制系统。

利用Linux 免费软件来研究和改进您想要的所有源代码。

当然,要了解Linux kernel的作用,system calls的重要性。查看intro(2)syscalls(2)手册页(并学习使用man)。

不要忘记tty - s(即终端)的复杂性。