当前位置: 技术问答>linux和unix
我是新手--请问在EMACS中怎样把对一个C语言文件编译连接和运行
来源: 互联网 发布时间:2015-05-29
本文导语: 请问:怎么样运行C语言文件被编译连接后的文件呢? 我装了红帽子9.0。在菜单中找到了编译命令和连接命令。 我写了一段小代码: #include"stdio.h" int main() { int m=0; printf("mmmmmmmmmmmm"); return 0; } 我把这个文件编译...
请问:怎么样运行C语言文件被编译连接后的文件呢?
我装了红帽子9.0。在菜单中找到了编译命令和连接命令。
我写了一段小代码:
#include"stdio.h"
int main()
{
int m=0;
printf("mmmmmmmmmmmm");
return 0;
}
我把这个文件编译连接了,可是我要怎么看它运行后的结果啊?
那么,这个东东被编译后肯定还会有个目标文件的,连接后会有个可执行文件,它们被放到了哪里去了呢?
|
gcc默认的输出文件是a.out,在单前目录下。
== C/C++ 模式 ==
指定为C++模式的方法:一般根据扩展名自动设定,不用指定,不过有时候你希
望.h文件是C++模式的(缺省是C模式),在文件第一行(或其末尾)上加入
// -*- C++ -*-
语法高亮:不是C模式专有,顺便提一下,M-x global-font-lock-mode RET 或
在.emacs中加入(global-font-lock-mode t)。在console下,Emacs21才支持语
法高亮。(语法高亮,不同关键字用不同的颜色来突出)
子模式:
auto-state 当你输入时自动缩进,自动换行
hungry-state 当你Backspace时,自动删除尽可能多的空白和空行
C-c C-t 同时转换(开/关)auto-state和hungry-state子模式
C-c C-a 转换 auto-state 子模式
C-c C-d 转换 hungry-state 子模式
C-c . 设置缩进风格(按TAB键可列出可用的风格,缺省的为gnu,其
缩进为2个字符;linux为8个;k&r为5个…)
TAB 重新缩进当前行
M-/ 自动补齐(缓冲区中能找得到的串)
M-; 行尾加入注释
C-c C-e 扩展宏
C-c C-c 注释掉整个区域
C-c C- 将区域中的每一行结尾都加入一个''字符
=== 编译和调试 ===
M-x compile RET 编译
M-x gdb RET 调试
C-x ` (出错信息中)下一个错误,一个窗口显示错误信息,另一个
显示源码的出错位置
C-c C-c 转到出错位置
启动gdb调试器后,光标在源码文件缓冲区中时:
C-x SPC 在当前行设置断点
C-x C-a C-s step
C-x C-a C-n next
C-x C-a C-t tbreak
C-x C-a C-r continue
== C/C++ 模式 ==
指定为C++模式的方法:一般根据扩展名自动设定,不用指定,不过有时候你希
望.h文件是C++模式的(缺省是C模式),在文件第一行(或其末尾)上加入
// -*- C++ -*-
语法高亮:不是C模式专有,顺便提一下,M-x global-font-lock-mode RET 或
在.emacs中加入(global-font-lock-mode t)。在console下,Emacs21才支持语
法高亮。(语法高亮,不同关键字用不同的颜色来突出)
子模式:
auto-state 当你输入时自动缩进,自动换行
hungry-state 当你Backspace时,自动删除尽可能多的空白和空行
C-c C-t 同时转换(开/关)auto-state和hungry-state子模式
C-c C-a 转换 auto-state 子模式
C-c C-d 转换 hungry-state 子模式
C-c . 设置缩进风格(按TAB键可列出可用的风格,缺省的为gnu,其
缩进为2个字符;linux为8个;k&r为5个…)
TAB 重新缩进当前行
M-/ 自动补齐(缓冲区中能找得到的串)
M-; 行尾加入注释
C-c C-e 扩展宏
C-c C-c 注释掉整个区域
C-c C- 将区域中的每一行结尾都加入一个''字符
=== 编译和调试 ===
M-x compile RET 编译
M-x gdb RET 调试
C-x ` (出错信息中)下一个错误,一个窗口显示错误信息,另一个
显示源码的出错位置
C-c C-c 转到出错位置
启动gdb调试器后,光标在源码文件缓冲区中时:
C-x SPC 在当前行设置断点
C-x C-a C-s step
C-x C-a C-n next
C-x C-a C-t tbreak
C-x C-a C-r continue