小编lib*_*rik的帖子

``continue``打破标签放置

这很好用:

#include <stdio.h>

int main(){
    volatile int abort_counter = 0;
    volatile int i = 0;
    while (i < 100000000) {
        __asm__ ("xbegin ABORT");
        i++;
        __asm__ ("xend");
        __asm__ ("ABORT:");
        ++abort_counter;
    }

    printf("%d\n", i);
    printf("nof abort-retries: %d\n",abort_counter-i);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,我最初写的是

#include <stdio.h>

int main(){
    volatile int abort_counter = 0;
    volatile int i = 0;
    while (i < 100000000) {
        __asm__ ("xbegin ABORT");
        i++;
        __asm__ ("xend");
        continue;
        __asm__ ("ABORT:");
        ++abort_counter;
    }

    printf("%d\n", i);
    printf("nof abort-retries: %d\n",abort_counter);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但这导致了

/tmp/cchmn6a6.o: In …
Run Code Online (Sandbox Code Playgroud)

c gcc continue inline-assembly while-loop

10
推荐指数
2
解决办法
220
查看次数

Visual Studio 2012中外部项目的配置

我遇到了Visual Studio 2012的问题,我希望有一个解决方案.我在我的解决方案中有2个项目:1个项目是".exe"项目,另一个是".lib"项目.我已经在lib项目中添加了lib项目作为参考,并且我确保它被安排首先编译.lib项目有一堆额外的include目录和一堆额外的依赖项和链接库.lib项目编译得很好.但是,exe应用程序不会继承任何其他包含目录或其他库目录或依赖项.我能够通过将配置复制到exe项目来解决这个问题,但这意味着如果我更新了lib依赖项,那么我需要在每个使用该库的项目中更新它(我玩这个库用于多个项目).这似乎应该有一个解决方案,但我似乎无法找到它.有没有人想出让项目继承引用项目的配置的方法,或者没有办法解决这个问题?谢谢.

ide propertysheet visual-studio visual-c++ visual-studio-2012

3
推荐指数
1
解决办法
2800
查看次数

C"未定义的引用",但我在同一个文件中指定了它

我正在尝试Nintendo DS编程,我有一个main.cpp文件,一个snake.h文件和一个snake.cpp文件.当我编译(使用Makefile)时,我得到了

/home/david/Dropbox/sources/ds/04_snake/source/snake.cpp:228: undefined reference to `printBlock(int, int, unsigned short, int)'
/home/david/Dropbox/sources/ds/04_snake/source/snake.cpp:230: undefined reference to `printBlock(int, int, unsigned short, int)'
Run Code Online (Sandbox Code Playgroud)

这是函数中的错误

void drawSnake(game g) {
    int i;
    printBlock(g->s->last[0], g->s->last[1], g->bgColor, g->block);
    for(i=0; g->s->points[i][0]!=-1 && i<MAXLENGHT; i++)
        printBlock(g->s->points[i][0], g->s->points[i][1], g->s->color, g->block);
    return;
}
Run Code Online (Sandbox Code Playgroud)

但是在同一个文件中,我有大约100行

int printBlock(game g, int x, int y, u16 color, int thickness) { /*code*/ }
Run Code Online (Sandbox Code Playgroud)

如果我注释我使用printBlock的行(在drawSnake函数中),代码编译没有错误.我试图改变名称,改变位置,但我无法理解为什么只有那个函数给我错误.

c++ reference nintendo-ds undefined

2
推荐指数
1
解决办法
107
查看次数