小编goo*_*ons的帖子

如何安装自定义CMake-Find模块

我使用CMake和CPack配置和打包我的库.我已经编写了自己的find-module FindMyLib.cmake.

如何告诉CMake/CPack将此文件添加到CMake模块目录中,以便将来的开发人员可以简单地指定FIND_PACKAGE(MyLib)来使用我的库?

cmake cpack

52
推荐指数
3
解决办法
6万
查看次数

C++中的高级GPU编程

我一直在寻找C++的库/扩展,它将允许基于GPU的高级处理.我不是GPU编程方面的专家,我不想深入挖掘.我有一个由具有虚函数的类组成的神经网络.我需要一个基本上为我分配GPU的库 - 在很高的层次上.有一个人在一个名为GPU ++的系统上写了一篇论文,它为你做了大部分的GPU工作.我找不到任何地方的代码,只是他的论文.

有没有人知道类似的库,或者有没有人有GPU ++的代码?像CUDA这样的库太低了,无法处理我的大多数操作(至少在没有重写我的所有进程和算法的情况下 - 我不想这样做).

c++ cuda gpu gpu-programming

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

WebGL - 带有高度图的纹理地形

我正在尝试使用WebGL创建3D地形.我有一个带有地形纹理的jpg,另一个带有高度值(-1到1)的jpg.

我看过各种包装器库(比如SpiderGL和Three.js),但我找不到一个可变的例子,如果我这样做(比如在Three.js中)代码没有记录,我也想不通怎么做.

任何人都可以给我一个很好的教程或例子吗?

有一个在three.js所为例http://mrdoob.github.com/three.js/examples/webgl_geometry_terrain.html这是我想要什么差不多.问题是他们随机创造了山脉的颜色和高度值.我想从2个不同的图像文件中读取这些值.

任何帮助都会得到满足.谢谢

javascript terrain webgl three.js heightmap

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

检测文件是否为MP3

我正在编写一个C++库,用于在不同格式/编解码器之间解码和编码音频.我有一个例程,可以在加载所需的编解码器库之前快速检测格式.

对于WAV文件,可以在文件开头简单地查找ASCII值"RIFF"和"WAVE".这同样适用于FLAC,我们可以简单地读取前4个字节,即"fLaC".

但是如何快速检测文件是否是MP3?我不能依赖文件扩展名.我也无法尝试解码第一个MP3帧,因为文件开头可能还有其他数据(例如:ID3,封面图片等).

mp3 header decoding detect flac

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

Windows - CreateProcess 分离子进程

我想创建一个与父进程分离的子进程,这样如果父进程退出,子进程将继续。我正在 Windows 上工作并执行了以下操作:

if(CreateProcess(program, arguments, NULL, NULL, FALSE, CREATE_DEFAULT_ERROR_MODE | CREATE_NO_WINDOW | DETACHED_PROCESS, NULL, NULL, &sinfo, &pinfo))
{
   CloseHandle(pinfo.hProcess);
   CloseHandle(pinfo.hThread);
}
Run Code Online (Sandbox Code Playgroud)

在我的例子中,父进程继续运行,而子进程在后台执行。如果我在终端中按 Ctrl-C 来终止父进程,则子进程将按预期继续执行。但是,如果我在 Window 的任务管理器中杀死父进程,则子进程也会被杀死。

为什么Ctrl-C和任务管理器中的查杀有区别?即使父级在任务管理器中被杀死,有什么方法可以确保子级继续运行?

windows subprocess kill process createprocess

8
推荐指数
0
解决办法
5135
查看次数

Linux - 按路径杀死进程

如何通过其可执行文件的绝对文件路径杀死进程?因此,我想杀死从给定位置的可执行文件创建的所有进程?

回答:

kill $(ps aux | grep '<absolute executable path>' | awk '{print $2}')
Run Code Online (Sandbox Code Playgroud)

linux executable kill process

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

音频采样频率依赖于频道?

如果您的音频编码为44100Hz,则表示您每秒有44100个样本.对于某个频道或所有频道,这是否意味着44100个采样/秒?

例如,如果一首歌曲是立体声并且以44100Hz编码,那么两个声道都有44100个样本/秒(也就是每个声道22050个样本),或者每个声道有44100个样本(又名:每秒有88200个样本,44100个用于通道1)通道2的44100和44100.

audio frequency sampling channels

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

根据模板参数更改member-typedef?

我这里有这个问题,我无法弄清楚如何解决.我想要一个模板类,它接受一个整数作为模板参数,并相应地设置另一个类的模板参数:

template <int T>
class Solver
{

  public:

    #if T <= 24
      typedef MyMatrix<float> Matrix;
    #else if T <= 53
      typedef MyMatrix<double> Matrix;
    #else
      typedef MyMatrix<mpreal> Matrix;
    #endif

    Matrix create();

};
Run Code Online (Sandbox Code Playgroud)

然后像这样调用它:

Solver<53>::Matrix m = Solver<53>::create();
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?目前使用上面的代码,编译器抱怨它不知道"Matrix",所以我不确定你是否可以在模板参数上使用预处理器.

c++ templates c-preprocessor

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

CMake:链接共享库

我已经做过几次了,但是这次我还是被卡住了。我有一个可执行文件“ myapp”和一个自己的共享库“ mylib”。在我的cmakelist中,我有以下内容:

ADD_LIBRARY(mylib SHARED ${SOURCES_LIB})
INSTALL(TARGETS mylib DESTINATION .)
ADD_EXECUTABLE(myapp ${SOURCES_APP})
TARGET_LINK_LIBRARIES(myapp ${QT_LIBRARIES} mylib)
INSTALL(TARGETS myapp DESTINATION .)
Run Code Online (Sandbox Code Playgroud)

一切都能正确编译和链接,但是当我启动myapp时,出现以下错误:

error while loading shared libraries: libmylib.so: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

lib和可执行文件位于安装目录中。当我通过将以上cmakelists的第一行更改为以下内容来使我的库成为静态库时:

ADD_LIBRARY(mylib STATIC ${SOURCES_LIB})
Run Code Online (Sandbox Code Playgroud)

那么一切都会100%有效。

有人知道我在做什么错吗?

static shared cmake libraries

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

PHP - MySQL PDO 最大查询大小

我在 PHP 中使用 MySQL PDO 从数据库中检索很长的字符串(大约 1-5mb)。在我的本地机器上测试时,一切正常。但是,在我的实时服务器上,执行 select 语句时,返回的最大字符串大小为 1048576 字节,正好是 1MB。

因此,由于代码相同,这必须是 PHP 或 MySQL 设置中的内容。我有以下几点:

配置文件

post_max_size = 20M
Run Code Online (Sandbox Code Playgroud)

我的.cnf

max_allowed_packet = 20M
Run Code Online (Sandbox Code Playgroud)

所以我假设我没有设置正确的变量,因为限制仍然是 1MB。有谁知道要设置什么?

php mysql size configuration pdo

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