我正在使用现有的C代码,它有几行语句类似于这一行:
struct collect_conn *tc = (struct collect_conn *)
((char *)c - offsetof(struct collect_conn, runicast_conn));
Run Code Online (Sandbox Code Playgroud)
struct collect_conn沿着以下行:
struct collect_conn {
struct runicast_conn runicast_conn;
struct announcement announcement;
const struct collect_callbacks *cb;
struct ctimer t;
uint16_t rtmetric;
uint8_t forwarding;
uint8_t seqno;
};
Run Code Online (Sandbox Code Playgroud)
我正在使用Eclipse CDT,它将带有橙色波浪线的行标记为"语法错误".我认为它是由CDT索引者标记的.但是,编译(在终端中手动)是没有问题的.
然而,这有点不方便,因为线上的元素没有被索引(因此调用层次结构树并不总是正确的,或者元素的突出显示等)
为什么Ecipse不喜欢这条线?
在Eclipse CDT的Project Properties对话框的Paths and Symbols部分的Includes选项卡上,有一个"Export"按钮:
我发现的最好的文档说这"切换了选择的包含路径是否被导出." 如果单击它,它将更改为"Unexport",并且"[exp]"将附加到选定的包含路径.
这到底是做什么的?"导出包含路径?"是什么意思?
我正在使用Eclipse CDT,我只想构建当前项目,而不是任何引用的项目.这有点可能吗?
这背后的想法是,我想区分"构建项目"和"构建所有项目"(在这种情况下,也应该构建引用的库).
马丁,提前谢谢
我在Linux上的Eclipse CDT中开发和运行C++程序.
问题是Eclipse CDT在控制台中没有显示任何运行时错误消息(例如分段错误),而在使用命令行直接运行程序时我可能会收到此类错误消息.
我找不到更改构建文件输出的可能性.我发现唯一停用整个生成的makefile进程,我不想这样做.
因此,如果我使用eclipse CDT调试我的C++代码,它似乎总是从main()函数启动调试过程,即使在main()开头没有断点...
有没有办法让eclipse CDT从第一个断点而不是main()开始调试?
我正在使用Windows 7 64位.
我安装了eclipse版本3.6.2,cdt和MinGW.我在Eclipse中有一个C++控制台程序,如下所示:
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
setbuf(stdout, NULL);
for (int i = 0; i < 10000000; i++) {
cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
}
int val;
cin >> val;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果我运行此控制台程序,它应显示Hello world在Eclipse中的Console View,但不显示任何内容.
如果我转到调试文件夹并运行exe,它会打印到控制台.
如果我犯了一些语法错误,那么Eclipse Console View将显示一些内容,例如:
**** Internal Builder is used for build ****
g++ -O0 -g3 -Wall -c -fmessage-length=0 -osrc\hh.o ..\src\hh.cpp
..\src\hh.cpp: In function 'int main()':
..\src\hh.cpp:17:3: error: expected ';' before …Run Code Online (Sandbox Code Playgroud) 我很难将Eclipse Juno配置为C/C++.我是一个Windows用户,所以我已经安装Cygwin和MinGW,以及CDTEclipse的下.也PATH正确配置了变量,尽管我在Eclipse C/C++新项目中仍然没有任何新的工具链.
这些是我的Eclipse详细信息:
Eclipse Java EE IDE for Web Developers.
Version: Juno Release
Build id: 20120614-1722
Run Code Online (Sandbox Code Playgroud)
另外,请参阅Eclipse的已安装组件的图像.
从Windows命令行附上一些outout:
C:\>echo %path%
C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x8
6)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\
Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Fil
es (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\MiKTeX 2.9\miktex
\bin\x64\;C:\Program Files\MATLAB\R2011b\runtime\win64;C:\Program Files\MATLAB\R
2011b\bin;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\Java\jdk\b
in;C:\Program Files (x86)\Java\jre\bin;C:\Program Files (x86)\Android\android-sd
k\platform-tools;C:\Program Files (x86)\Android\android-sdk\tools;C:\Program Fil
es\Python32;C:\Program Files (x86)\Notepad++;C:\tomcat\bin;C:\Users\Administrato
r\AppData\Roaming\npm;C:\Program Files (x86)\Gnu\GnuWin32\bin;C:\Program Files\n
odejs;C:\Users\Administrator\AppData\Roaming\npm;C:\MinGW\bin;C:\MSYS\bin;C:\cyg
win\bin
C:\>gdb --version
GNU gdb (GDB) 7.4
Copyright …Run Code Online (Sandbox Code Playgroud) 我正在与Eclipse(在Windows中)进行斗争,以使其连接到我的Linux机箱并远程编译和调试C++代码.
我的工作:
perl ./daemon.pl 4075)我可以做的一些手动的事情(没有Eclipse):
ssh mybox 'cd /path/to/project; gdb main'ssh mybox 'cd /path/to/project; gdbserver fqdn:10000 main'什么不起作用:在Eclipse中调试
其他可能导致问题的事情:
sshMSYS/Git提供的二进制文件(不是PATH)PATH我真的想在Eclipse中为我的C++项目进行远程调试.您有什么建议从这里开始吗?
在JDT中,如果我们悬停任何对象,比如函数,类,变量等,eclipse会在工具提示中显示文档.当代码辅助窗口显示可能性时,也会显示该文档.
但是,CDT不能像这样工作.默认情况下,它显示悬停对象的代码.有一个设置Window -> Preferences -> C/C++ -> Editor -> Hovers,选择Documentation显示,但不幸的是它没有显示任何内容.还有一个名为libhover的项目,但它似乎不适用于代码内的doxygen注释.
有没有解决方案来模仿CDT中的JDT悬停行为?