小编Waq*_*med的帖子

我可以在目录和子目录中搜索头文件吗?

有可能指示g ++以递归方式搜索头文件的文件夹吗?在我的例子中,我想要g ++来搜索

/ ARDrone_SDK_2_0_1/ARDroneLib /柔和/

以及头文件的所有子目录.可以这样做吗?这是一个简单的Makefile例子:

C=g++
CFLAGS=-c -Wall
LDFLAGS=
INC1=/ARDrone_SDK_2_0_1/ARDroneLib/Soft/ <- can this be recursive?
INCDIRS= -I${INC1}
SOURCES=src/dronevid.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=build/dronevid

all: $(SOURCES) $(EXECUTABLE)

$(EXECUTABLE): $(OBJECTS) 
    $(CC) $(LDFLAGS) $(OBJECTS) -o $@

.cpp.o:
    $(CC) $(CFLAGS) $(INCDIRS) $< -o $@
Run Code Online (Sandbox Code Playgroud)

c c++ gcc makefile

8
推荐指数
1
解决办法
9404
查看次数

boost :: asio无法连接到没有WLAN的localhost

在我的计算机(Surface Pro 2)上,只有一个网络适配器,它是一个无线LAN适配器.

我参与了一个小型的C++项目,它使用boost :: asio连接到localhost并完成它的工作,一切都很好.

但今天我发现,如果我从互联网断开WLAN,这个程序不起作用.

boost :: asio的解析器会抛出异常:

tcp::resolver::query query("localhost", "10127");
tcp::resolver resolver(io_service_);
tcp::resolver::iterator iterator;

try {
    iterator = resolver.resolve(query);
}
catch (boost::system::system_error& e) {
    log(e.what());
}
Run Code Online (Sandbox Code Playgroud)

并且错误消息是:请求的名称有效,但未找到所请求类型的数据.

ping到localhost就可以了.

我感到困惑,本地网络程序是否需要互联网?本地网络程序是否需要LAN适配器?为什么ping工作正常?

c++ boost network-programming wlan boost-asio

8
推荐指数
2
解决办法
3205
查看次数

计算HOG功能

我在第二步中遇到一个问题,就是在空间单元上累积加权投票以获得梯度方向.

假设细胞是8*8.让我用两个矩阵GO[8][8]([1 9]),GM[8][8]分别代表梯度方向和梯度大小.梯度方向的范围从0 - 180和有9方向箱.

根据我对HOG的理解,对于单元格中的每个像素,将其渐变幅度添加到其对应的方向区域.通过这种方式,我们可以得到每个细胞的直方图.

但有一句让我感到困惑.

" 为了减少混叠,投票(梯度幅度)在方向和位置的相邻二进制中心之间进行三线插值. " 1

为什么插值?如何插值?有人能解释得更详细吗?没有减少混叠.

提前致谢.


1这句话在Navneet Dalal的PHD论文中,第38页,第4行.

opencv computer-vision

7
推荐指数
1
解决办法
1746
查看次数

websocket + vuejs:屏幕闪烁,可见胡须代码

我使用websockets和vuejs构建了一个web应用程序.

在DOM中,我想循环遍历vuejs处理的数据.然而,在建立websocket连接并且已经接收到数据之后,在时间线中稍后设置数据.

到那时(大约0.5秒),你可以在网站上看到vuejs的胡子代码,然后看到它闪烁并添加真实数据.

我从websocket连接接收数据时创建ViewModel,如下所示:

onMessage: function (e) {
    new Vue({
        el: '#messages',
        data: {
            messages: e.data
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试过在页面加载时初始化ViewModel,并在以后设置数据:

var vms = {
    messages: new Vue({
        el: '#messages',
        data: {
            messages: {
            }
        }
    })
};
Run Code Online (Sandbox Code Playgroud)

onMessageWebSocket的事件:

var vm = vms.messages;
vm.$data = { messages: body };
Run Code Online (Sandbox Code Playgroud)

但问题是,在vm初始化之前仍有延迟.顺序是这样的:

页面加载 - >可见胡子代码 - >胡须代码被隐藏,因为数据被设置为空对象 - >实际数据显示在websocket收到之后

关于这个问题的任何想法/最佳实践?

javascript websocket vue.js

6
推荐指数
1
解决办法
5379
查看次数

如何在本地生成像干净组装一样的godbolt?

我想在本地生成像编译器资源管理器这样的干净程序集。请注意,我阅读了如何从 GCC/clang 程序集输出中删除“噪音”?在尝试之前。与 Godbolt 相比,使用该方法的输出没有那么干净或密集,并且仍然有很多 asm 指令和未使用的标签。

如何在没有任何未使用的标签或指令的情况下获得干净的汇编输出?

c++ assembly gcc clang compiler-explorer

6
推荐指数
2
解决办法
1811
查看次数

Opengl版本麻烦glew.h

我正在开发一个OpenG L应用程序,需要使用glew库.我正在使用Visual Studio C++ 2008 Express.

我使用gl.h,glu.h和glut.h编译了一个程序就好了,它完成了它应该做的事情.但是在包含glew.h之后它仍然编译得很好,但是当我尝试:

glewInit();
if (glewIsSupported("GL_VERSION_2_0"))
    printf("Ready for OpenGL 2.0\n");
else {
    printf("OpenGL 2.0 not supported\n");
}
Run Code Online (Sandbox Code Playgroud)

它不断印刷:

"不支持OpenGL 2.0".

我试图将它更改为glewIsSupported("GL_VERSION_1_3")或甚glewIsSupported("GL_VERSION_1_0")至它仍然返回false意味着它不支持OpenGL版本.

我有一台Radeon HD 5750,它应该支持OpenGL 3.1和3.2的一些功能.我知道所有设备驱动程序都安装正确,因为我能够运行ATI提供的Radeon sdk中的所有程序.

我还安装了Opengl Extensions Viewer 3.15,它说的是OpenGL 3.1版Ati Driver 6.14.10.9116.我厌倦了所有的人GLEW_VERSION_1_1,GLEW_VERSION_1_2,GLEW_VERSION_1_3,GLEW_VERSION_2_0,GLEW_VERSION_2_1,GLEW_VERSION_3_0和所有这些返回false.

还有其他什么建议吗?我甚至试过GLEW_ARB_vertex_shader && GLEW_ARB_fragment_shader,这也是假的.

c++ opengl glut glew visual-studio-2008

5
推荐指数
1
解决办法
3501
查看次数

将现有的C++ openGL项目从glut/freeglut转换为glfw

我想将我的科学3D应用程序从Freeglut升级到GLFW,但我担心隐藏的冲突或数据丢失,实际上我的应用程序就像Freeglut的魅力一​​样,我没有任何问题,但GLFW被推荐用于现代OpenGL( 3.0+)在所有现代书籍和教程中.

我看看GLFW API,它看起来像带有glfw*前缀的Glut ,但我不完全确定.所以我有三个问题:

  1. 是否值得为GLFW打破我现有的项目,或坚持freeglut?
  2. 我是否会因过剩而失去任何功能?
  3. GLFW与GTK +兼容吗?(因为我的GUI基于GTK)

c++ gtk opengl freeglut glfw

5
推荐指数
1
解决办法
2605
查看次数

为 auto 键入别名

是否可以为auto?创建类型别名?我已经尝试了using var = autoand typedef auto var,并且都抛出了不允许的错误。那么有没有办法呢?

c++ auto type-alias

5
推荐指数
1
解决办法
216
查看次数

QPlainTextEdit 显示性能缓慢

我在 Qt 中创建了一个特殊的文件查看器工具来显示大约 1-30 MB 的文本数据。

QPlainTextEdit在只读模式下使用禁用自动换行来显示文本。

我有一个 20MByte 的示例文件,调用QPlainTextEdit::setPlainText()大约需要 6.5 秒,这对于想要经常使用这个工具的我来说是不可接受的。

使用 Notepad++ 或 TotalCommander 的 Lister 打开同一个文件需要花费难以察觉的时间(远小于一秒)。

你知道我该如何解决这个问题吗?

这种编辑器类型可以改进吗?

有没有其他文本查看器类可以更快地完成?

是否可以创建自己的文本查看器类来提高性能?

c++ performance qt

5
推荐指数
1
解决办法
206
查看次数

运算符""在 C++ 中有什么作用?

你怎么称呼这个接线员?

除了创建自定义文字之外,您可以将它用于其他用途吗?

示例用法:(参见cppreference

constexpr long double operator"" _deg ( long double deg )
{
    return deg * 3.14159265358979323846264L / 180;
}
Run Code Online (Sandbox Code Playgroud)

c++ operator-overloading user-defined-literals

5
推荐指数
1
解决办法
203
查看次数