我正在编写简单的C ++代码(一个" cpp"文件)。现在我通过从命令行手动运行g++
来编译我的程序。但我想知道在每次保存文件后是否有任何方法可以进行自动g ++编译。
我正在使用Ubuntu和Sublime Text 3。
答案 0 :(得分:2)
创建一个makefile。大多数编辑器都有一个执行make
的快捷键。
答案 1 :(得分:1)
您可以使用make命令。
示例:假设文件名是test.cpp,那么您可以执行以下命令:
void write(void* value, size_t length); //Write is some random write function
Type var;
write((void*)var,sizeof(Type));
它将使用g ++自动编译,因为扩展名为.cpp
答案 2 :(得分:1)
还有更多更好的解决方案:
通过在用户空间中使用Linux内核挂钩,只要您保存的文件被做出反应,就可以更简单地“烹饪”类似的事情。在这里,您只需致电g++
,或其他人已经说过,您可能需要make
。
其中一个钩子是inotify;有几个Ubuntu包访问它(我还没有使用)。这是一个:
edd@max:~$ apt-cache show entr Package: entr Priority: optional Section: universe/misc Installed-Size: 61 Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Yuri D'Elia <wavexx@thregr.org> Architecture: amd64 Version: 2.6-1 Depends: libbsd0 (>= 0.6.0), libc6 (>= 2.4) Filename: pool/universe/e/entr/entr_2.6-1_amd64.deb Size: 11310 MD5sum: 818b54114577b8d15d619577acf52c97 SHA1: b8422ee12546843f3357c1114bf1f5eeea8c863e SHA256: ada9aa2ea218fc9f7a255b576d5069dda06da369ecc4000bb596e398b04eeafd Description-en: Run arbitrary commands when files change The Event Notify Test Runner (entr) runs arbitrary commands when files change. Changes are detected through the kqueue/inotify kernel interface. Description-md5: 52fe22e37b3719b7c736bf46a6d8c9b7 Homepage: http://entrproject.org/ Bugs: https://bugs.launchpad.net/ubuntu/+filebug Origin: Ubuntu edd@max:~$
答案 3 :(得分:0)
使用与IDE /编辑器集成的正确构建系统。
有很多可供选择。我的个人偏好是SCons(http://scons.org/),但也有像CMake(https://cmake.org/)或autotools(https://en.m.wikipedia.org/wiki/GNU_Build_System)这样的选项可用,或者只是简单的Makefile。 而且还有许多不太知名的。 检查出来并选择最适合您需求的产品。
答案 4 :(得分:0)
如果使用的是VS Code,则可以为VS Code安装扩展名C/C++ Compile Run
。
更改代码后,只需单击F6
即可执行它而不传递任何其他参数,或者单击F7
在命令面板中键入传递的参数,该参数将在命令面板的开头传递给代码。执行。