我使用完整的图形化IDE,如Eclipse CDT(Linux)和Visual Studio(Windows),它们具有自动完成,内置调试等功能.这些功能让我觉得我不能没有.
我一直听说有多少人每天使用emacs/vim.当图形IDE看起来更容易使用时,为什么人们仍然使用基于控制台的编辑器?我知道如何使用vim和emacs,但对于日常编程我只使用IDE,因为我发现自己的工作效率更高.
这不是一个vim vs emacs问题所以请不要争论另一个,请反对思科图形IDE反对控制台IDE.
由于我已经熟悉图形IDE,我是否可以通过使用emacs/vim获得任何生产优势?
我希望答案是"可能不是",仅仅是因为学习曲线,我会想念通常的图形IDE功能,如自动完成和内置调试器 ; 但显然emacs支持自动完成和调试.但是,对于使用标准GUI文本编辑器的人,我可能会说他们应该使用emacs/vim.你怎么看?
我有一个包含由Eclipse CDT(Helios,MinGW)生成的makefile的makefile项目。“ clean”命令不起作用,因为“ del”命令是使用./src/myfile.o之类的参数执行的,但是在Windows上则不起作用(应为。\ src \ myfile.o)。
我该如何告诉Eclipse使用Windows路径分隔符,或者用其他不同的方式替换命令“ del”(我可以轻松编写一个批处理脚本,用反斜杠替换正斜杠)?
感谢您的提示!
我正在使用Eclipse CDT和egit,我需要从多个存储库构建一个项目.一个包含源代码的主体,另一个包含用作构建过程一部分的实用程序脚本(在构建其他几个项目时也使用它们).
我很难理解我是否可以通过这种设置明智地工作.我无法弄清楚如何将CDT项目与多个git存储库相关联,这意味着我无法对项目中的某些文件执行VCS操作.
我希望能够右键单击工作区中的任何文件,并且能够确定它所在的存储库,从而正确执行操作(历史记录,责备...).有没有人设法做到这一点,或者你能指出我无法找到的文档,因为大量的"单个回购中的多个项目"指南.
我在 Windows 7 上使用带有 CDT 的 Juno。当我尝试使用 MinGW 提供的内部构建器或 make 清理项目时,Eclipse 运行 *X 命令 rm -rf 并且清理操作失败。
从控制台使用外部构建器 (mingw32-make) 进行日志记录:
18:08:07 **** Clean-only build of configuration Debug for project threads_example ****
mingw32-make clean
rm -rf ./main.o ./main.d threads_example
process_begin: CreateProcess(NULL, rm -rf ./main.o ./main.d threads_example, ...) failed.
make (e=2): The system cannot find the file specified.
mingw32-make: [clean] Error 2 (ignored)
' '
18:08:07 Build Finished (took 137ms)
Run Code Online (Sandbox Code Playgroud)
使用内部构建器记录:
10:39:35 **** Clean-only build of configuration Debug for project threads_example **** …Run Code Online (Sandbox Code Playgroud) 我意识到之前已经在本网站和其他网站上提出过这个问题,但没有人提供过令人满意的答案.我刚刚开始使用C/C++,而且我在Mac上使用Eclipse CDT.创建一个C项目后,然后创建一个源文件(带有正确的.cpp后缀),并编写一个简单的"Hello World!" 程序,我在控制台中收到以下错误:"没有为项目[名称]构建".据我所知,代码没有任何问题.
#include <stdio.h>
int main() {
printf("Hello World");
}
Run Code Online (Sandbox Code Playgroud)
我很确定gcc配置或其他什么都没有问题,虽然我不完全确定.源文件已保存并显示在项目下,因此我不确定如何解决此特定问题.
任何帮助表示赞赏.
我有一个包含数十个源模块和数十个头文件的项目,其中一些是嵌套的。使用 ARM 的 Eclipse for DS-5 时,我从索引器中收到错误指示,但没有从编译器中收到错误指示。
IDE 抱怨FALSE静态库的源模块之一中的宏未定义。不过,它确实编译正常。
在同一代码库(另一个静态库)上的第二个项目中不存在这样的问题。
搜索整个工作区,可以在该宏的多个标题中找到多个定义。如何追踪代码中生效的具体定义是哪一个?
注意 - 我发现了有关 MSVS 的类似问题和一个很好的技巧作为答案,但是有没有直接的方法可以在 Eclipse 中实现此目的?
为什么stringsEclipse Mars CDT 中的值不会出现在表达式或variables窗口中?它出现{...}但我想在值选项卡下看到值本身.
我怎样才能做到这一点?
我正在处理一个涉及 TOM 文件(.t 扩展名)的项目,这些文件被编译成 .c 文件。现在,我已经告诉我的 Eclipse 将它们视为 C 源文件,但是 CDT 索引器似乎不想接触它们。是否可以告诉它考虑其他文件类型?
注意:TOM 文件看起来就像 C 文件,但有一些额外的语法,这对于索引器来说就像某些行上的语法错误。
我已经离开Eclipse CDT一段时间了,并且被JetBrains的优秀IDE所破坏(公司不会让我拥有Clion).不可否认,这些主要用于解释而非编译语言,因此评估更简单.
当我在Eclipse CDT中被打破时,(如何)我可以快速评估涉及调试器已知变量的表达式,但是在代码中没有使用它们的方式?
例如,如果我有两个整数,i并且j(如何)我可以快速评估i + j?
是否有可能char *s进行评估stlen(s)?或者本地函数调用的结果?
我想知道如何将Git提交哈希和/或其他信息添加到已编译二进制文件中的C++变量的内容中,而不必将其作为Git跟踪的源代码的一部分.
我需要跟踪嵌入式处理器上运行的已编译可执行文件中的固件版本信息.识别固件二进制文件的特定版本的方法,例如有意义的文件名,MD5校验和甚至日期/时间戳,在这个封闭的环境中是不可用的(即,没有文件系统).
一种方法是让设备的控制台输出产生识别文本,例如"版本1.2.3","提交哈希1bc123 ......"或类似文本.固件发布信息仅供维护人员使用,因此经过培训的操作员可以检查控制台输出.为了实现这一点,它可能涉及手动编辑版本字符串,然后编译成代码并在程序启动时输出到控制台.
对于使用签核工作流程来仔细检查版本信息是否正确的主要版本,这是可以接受的.然而,这是一个手动过程,它本质上是不可靠的.例如,如果开发人员忘记更新版本信息怎么办? - 现在编译的代码与其报告的版本字符串之间存在脱节.
每次用户想要测试硬件时新编译和下载代码的工作流程在所讨论的情况下是不实际的,即,更新固件是相当繁重的.
因此需要一种识别代码版本的自动方法.在这种情况下,使用Git,开发人员定期将他们的工作提交给功能分支.显示Git提交哈希,以及可能还有未分级更改,将是一种识别用于编译固件的源代码状态的方法.
要求是我希望我的应用程序可以获得信息,以便它能够显示:"Git commit:[01abcdef ... etc],branch:experimentalStuffDoNotRelease"
因此,我想在编译的C和/或C++代码中自动包含Git信息,例如提交哈希和分支.
开发环境让开发人员同时使用Windows和Linux,并使用Eclipse CDT,其工作流程相对简单:check out; 编译; 下载到硬件.