我正在与Eclipse(Indigo)合作开发C项目.当我在新工作区中创建新的C项目时,默认情况下不会设置"构建前自动保存"选项.这非常令人沮丧,因为自动保存通常是我工作的其他IDE中的默认行为.我改变了一些代码,构建并且似乎没有按预期进行 - 直到我记得该选项未设置...
有没有办法让Eclipse打开一个带有此选项集的新工作区?
我试图以几毫秒的顺序测量短时间间隔.这被证明是一项非常重要的任务,因为无处不在的time()功能在整个秒精度上起作用.经过一些研究,我得出了以下代码示例中的四种方法:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <sys/time.h>
int main(int argc, char *argv[])
{
clock_t t0, t1;
double dt0;
struct timespec t2, t3;
double dt1;
struct timespec t4, t5;
double dt2;
struct timeval t6, t7;
double dt3;
volatile long long i;
t2.tv_sec = 0;
t2.tv_nsec = 0;
clock_settime(CLOCK_MONOTONIC, &t2);
clock_settime(CLOCK_REALTIME, &t2);
t0 = clock();
clock_gettime(CLOCK_REALTIME, &t2);
clock_gettime(CLOCK_MONOTONIC, &t4);
gettimeofday(&t6, NULL);
getchar();
for (i=0; i<1e9; i++) {};
gettimeofday(&t7, NULL);
clock_gettime(CLOCK_MONOTONIC, &t5);
clock_gettime(CLOCK_REALTIME, &t3);
t1 = clock();
dt0 = …Run Code Online (Sandbox Code Playgroud) 使用 GCC 和 C99 模式,我有一个函数声明为:
void func(float *X);
Run Code Online (Sandbox Code Playgroud)
当我调用该函数时,我使用了一个可变数组 Y:
volatile float Y[2];
int main()
{
func(Y);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
When compiling (with -Wall), I get the following warning:
warning: passing argument 1 of ‘func’ discards qualifiers from pointer target type
blah.c:4: note: expected ‘float *’ but argument is of type ‘volatile float *’
Run Code Online (Sandbox Code Playgroud)
I can eliminate it with an explicit (float *) type cast, but this repeats in many places in the code.
Is there a way to …
打开项目的属性对话框时,我在C/C++ General -> Paths and Symbols -> References. 在其下方,有一个名为的条目,Project References其中包含一个类似的列表。
列表之间有什么区别?
在(嵌入式)Ubuntu 12.04系统上,我们有一个简单的Java程序,它在窗口上显示一些图形模式,每秒钟更新一次.我们用它来监控系统上运行的一些进程.问题在于,虽然它是活动的而不是最小化的,但只要窗口更新,它就会窃取焦点.这使得无法使用开放式终端窗口.
运行应用程序表单命令行或从Eclipse IDE时,行为是相同的.
在NetBeans IDE下运行时,Windows 7上不会出现同样的问题.
我们如何防止Java应用程序将重点放在Ubuntu机器上?
更新1:发现这个问题似乎很难解决同样的问题: 如何停止/解决Java应用程序窃取Linux窗口管理器的焦点.阅读它,我了解到问题是使用JFrame作为容器,这是我们使用的.他们的解决方案是使用JWindow容器而不是JFrame容器.然而,寻找差异,JWindow是"赤裸裸",并没有表现得像一个"真正的"窗口,因为没有装饰.有没有办法在 JFrame中使用JWindow ,从而消除焦点窃取?
更新2:尝试在PC上的Ubuntu虚拟机上运行此程序会产生同样的错误行为.这表明Windows 7和Linux的Java运行时存在差异,并且该问题并非特定于嵌入式Linux.
更新3:这是一个SSCCE:
//package SSCCE;
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
public class MonitorSSCCE extends JFrame{
public static void main(String[] args)
{
// Set the frame
JFrame ecoreFrame = new JFrame("SSCCE");
ecoreFrame.setSize(120, 120);
ecoreFrame.setVisible(true);
// Refresh frame every 200 msec
while (true) {
GRFX grfx = new GRFX();
ecoreFrame.add(grfx);
ecoreFrame.setVisible(true);
grfx = null;
try {
Thread.sleep(200);
} catch (InterruptedException e) {
}
} …Run Code Online (Sandbox Code Playgroud) 在IAR Embedded Workbench中,我有一个指针指向内存中的缓冲区.观看指针时,我可以看到它指向的单词的内容.如何判断Watch视图是否从指针开始列出了一定范围的缓冲区,用于指定长度的元素?
例如,输入表达式:
myPtr[0..2]
Run Code Online (Sandbox Code Playgroud)
将显示相当于三个表达式的信息:
myPtr[0]
myPtr[1]
myPtr[2]
Run Code Online (Sandbox Code Playgroud) 在我的嵌入式项目中,使用IAR EWARM开发工具(v7.10.3),我有以下代码:
/* 1 */ uint32_t packet_sync = 0;
/* 2 */ uint32_t synced = 0;
/* 3 */ uint32_t gpio = 0;
/* 4 */ while (1) {
/* 5 */ if ((packet_sync != 0) && ((packet_sync = gpio) == 0)) {
/* 6 */ if (synced < 2) {
/* 7 */ synced++;
/* 8 */ }
/* 9 */ }
/* 10 */ };
Run Code Online (Sandbox Code Playgroud)
出于某种原因,当我编译代码时,编译器会在编译过程中陷入困境.我尝试使用各种构造,似乎我做了任何微小的改变,消除了问题(但也可能使代码不正确).例如,在#6a中添加NOP,代码确实成功编译:
/* 6 */ if (synced < 2) { …Run Code Online (Sandbox Code Playgroud) 在Matlab脚本中,我调用了用户定义的函数(m函数)。当使用disp和/或fprintf调用将值打印到命令窗口时,我的函数返回一个值。
在编写表达式或语句时,请;在其末尾禁止打印。当表达式调用我的函数时,;可以抑制返回值的打印。但是,这不会影响所disp调用函数中的输出。
我想在适当的时候消除函数的显示输出。有没有办法确定是否在以结尾的表达式中进行了函数调用;?
是否有输出“预处理”makefile 的-E选项,相当于 GCC 的选项?
我有一个项目由几十个模块的层次结构组成,每个模块都有自己的 makefile。构建是从主生成文件调用的。该主 makefile 包含包含、变量定义、命令行选项因变量等。
所以,本质上,我正在寻找处理过的 makefile,包括所有替换。
从远程克隆回购后,我在master分支上。键入git branch以查看分支列表时,仅master在列表中。
随着时间的流逝,检出现有分支并创建新分支,最终将新工作合并到master并推向origin。现在,键入将git branch显示包含数十个分支的长长列表。
如何缩小列表,从列表中删除特定分支,同时将其他分支保留在列表中?
更新1:为澄清起见,我不希望从存储库中删除任何分支(绝对不是从远程存储库中删除)。只是使在给定时间我经常使用的分支子集之间导航变得更加容易。
更新2:考虑-
$ git clone myrepo
$ git branch
* master
$ git checkout mybranch
$ git branch
master
* mybranch
$ git checkout master
$ git branch
* master
mybranch
$ git "I'll not be dealing with mybranch for 91 days, do something to clean the list"
$ git branch
* master
(playing DOOM for 91 days)
$ …Run Code Online (Sandbox Code Playgroud) c ×4
c99 ×2
eclipse ×2
eclipse-cdt ×2
embedded ×2
iar ×2
analyzer ×1
autosave ×1
compilation ×1
debugging ×1
expression ×1
focus ×1
function ×1
gcc ×1
git ×1
git-branch ×1
gnu-make ×1
java ×1
makefile ×1
matlab ×1
measurement ×1
preprocessor ×1
project ×1
swing ×1
time ×1
ubuntu-12.04 ×1
watch ×1