小编sho*_*osh的帖子

C++:LINK:debug\XXXXX.exe未找到或未由最后一个增量链接构建; 执行完整链接

使用visual studio 2008 SP1,
这一行:

LINK : debug\XXXXX.exe not found or not built by the last incremental link; performing full link
Run Code Online (Sandbox Code Playgroud)

无论我做出多么小的变化,每次编译项目时都会出现.
可能是什么原因?

c++ incremental-linking

15
推荐指数
2
解决办法
2万
查看次数

C++:变量声明初始化顺序

当我定义一些像这样的变量时:

int a = pop(), b = pop(), c = pop();
Run Code Online (Sandbox Code Playgroud)

C++是否提供了a首先被初始化的保证,b然后c呢?或者订单没有定义?

c++

15
推荐指数
1
解决办法
1202
查看次数

CUDA:同步线程

几乎在我读到有关CUDA编程的任何地方都提到了warp中所有线程都做同样事情的重要性.
在我的代码中,我遇到了无法避免某种情况的情况.它看起来像这样:

// some math code, calculating d1, d2
if (d1 < 0.5)
{
    buffer[x1] += 1;  // buffer is in the global memory
}
if (d2 < 0.5)
{
    buffer[x2] += 1;
}
// some more math code.
Run Code Online (Sandbox Code Playgroud)

有些线程可能会因条件而进入一个线程,有些可能会进入两者并且其他线程也可能无法进入.

现在为了让所有线程在条件之后再次回到"做同样的事情",我应该在条件使用后同步它们 __syncthreads()吗?或者这是以某种方式自动发生的?
两个线程可以不做同样的事情,因为其中一个是后面的一个操作,因此毁掉了每个人吗?或者是否有一些幕后的努力让他们在分支后再次做同样的事情?

optimization synchronization cuda

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

cmd.exe:复杂的条件?

在DOS批处理文件中,在IF语句中,是否可以使用AND或OR组合两个或多个条件?我无法找到任何相关文档

编辑 - help if并且MS文档没有说明在if中使用多个条件.

我想AND的解决方法就是做

if COND1 (
  if COND2 (
    cmd
  )
)
Run Code Online (Sandbox Code Playgroud)

但这正是我想要避免的.

windows conditional batch-file

13
推荐指数
2
解决办法
2万
查看次数

Linux内核钩子,知道套接字的目标进程

我正在寻找一个特定的地方来为linux内核添加某种钩子,这将允许我执行以下操作:

  • 检测TCP连接转向环回的情况(127.0.0.1)
  • 检测数据包的源进程是否与目标进程相同
  • 如果是这种情况,请允许连接,拒绝任何其他环回连接(一个进程到另一个进程)

我一直在寻找netfilter挂钩,但它们似乎不适合需要.bpf过滤器只查看数据包本身.

我也在看socket-connect的LSM钩子.我可以通过查看哪个进程具有所请求的端口当前绑定来预测连接将要连接的位置来尝试从套接字连接挂钩实现这一点,这听起来非常h​​ackish.

sockets linux hook kernel

13
推荐指数
1
解决办法
361
查看次数

编写一个简单的解析器

我需要为一种域特定语言编写一个简单的解析器.
它需要具有基本的算术和适当的运算符评估顺序以及调用可以重载的底层环境的函数的语法.
编写这样一个解析器最简单的方法是什么?有什么东西我可以适应或开箱即用吗?我正在用C++写作.

c++ dsl parsing

12
推荐指数
1
解决办法
7913
查看次数

相当于PNG的视频?

对于光栅图像,有:
JPG用于自然场景
PNG或GIF用于几何场景,其特点是平滑的颜色,直线和渐变.

对于矢量动画,有SVG

对于光栅视频,有各种MPEG编解码器可以很好地完成自然场景.

所以我的问题是,我应该将什么用于专门用于栅格化光滑颜色,线条和渐变的视频?

video png image raster

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

C++:auto_ptr +转发声明?

我有一个这样的课:

class Inner;

class Cont
{
public:
    Cont();
    virtual ~Cont();
private:
    Inner* m_inner;
};
Run Code Online (Sandbox Code Playgroud)

在.cpp中,构造函数创建了一个Innerwith new和析构函数delete的实例.这工作得很好.
现在我想更改此代码以便使用,auto_ptr所以我写道:

class Inner;

class Cont
{
public:
    Cont();
    virtual ~Cont();
private:
    std::auto_ptr<Inner> m_inner;
};
Run Code Online (Sandbox Code Playgroud)

现在,构造函数初始化了auto_ptr,而析构函数什么都不做.

但它不起作用.当我实例化这个类时,问题似乎就出现了.我收到这个警告:

警告C4150:删除指向不完整类型'Inner'的指针; 没有破坏者叫

好吧,这显然非常糟糕,我明白为什么会发生这种情况,编译器不知道Inner实例化模板的时候auto_ptr<Inner>

所以我的问题:是否有一种方法可以使用auto_ptr前向声明,就像我在仅使用普通指针的版本中所做的那样?我
必须向#include每个班级宣布一个指针是一个巨大的麻烦,有时候,这是不可能的.这个问题通常是如何处理的?

c++ pointers memory-management auto-ptr shared-ptr

12
推荐指数
1
解决办法
4302
查看次数

LLDB:添加符号文件?

我正在尝试使用lldb从Android Studio的本机调试中调试Android本机应用程序.
我的原生应用程序包含一个由Android Studio编译和运行的libmain.so以及由我编译的另一个外部libother.so.在调试时,我能够在libmain.so中设置断点,但不能在libother.so中设置断点.
两个共享对象都被剥离,但不知何故,Android Studio使lldb知道libmain.so的未剥离版本.我想为libother.so做同样的事情.

我需要使用什么命令来lldb,以便从本地计算机上的未提取文件中加载符号?
当我这样做时,image list我看到主要的.so带有指向其本地未剥离版本的路径:

/Users/username/Projects/gow/android/AppName/app/build/intermediates/binaries/debug/arm7/obj/armeabi-v7a/libmain.so

第二个.so的路径就像 /var/folders/3w/5nr95lxx3qvdm2ylb8c8b7500000gn/T/./lldb/module_cache/remote-android/.cache/B5F32653-0000-0000-0000-000000000000/libother.so

如何让lldb找到未剥离的版本libother.so
我尝试过image add,target symbols add但它没有用.

debugging android symbols lldb

12
推荐指数
2
解决办法
8722
查看次数

Visual Studio自定义构建步骤规则?

使用Visual Studio 2008,当我向C++项目添加一个不能.c/.cpp/.h/.rc或IDE无法识别的文件时,会弹出一个对话框,询问我是否要为这种文件创建自定义构建步骤规则.

有没有人知道如何在不添加文件的情​​况下进入此对话框?我似乎无法在任何菜单中找到.


编辑:我知道.rules文件的全部内容.我所说的是Visual Studio 2008中的GUI对话框,它允许您创建和编辑这些.rules文件.这是我提到的对话框,当您添加具有未知扩展名的文件时会弹出该对话框.

custom-build-step visual-studio-2008 visual-studio

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