小编Nic*_*ton的帖子

如何在Linux上读取C++中的JPEG和PNG像素?

我正在做一些图像处理,我想单独读取JPEG和PNG图像中的每个像素值.

在我的部署方案中,使用第三方库(因为我在目标计算机上限制访问)会很尴尬,但我假设没有用于读取JPEG/PNG的标准C或C++库...

所以,如果你知道一种使用图书馆的方法那么好,如果没有,那么仍然欢迎答案!

c c++ linux png jpeg

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

如何实现简单的跨平台Python守护进程?

我希望我的Python程序在后台作为守护进程在Windows或Unix上运行.我看到python-daemon包仅适用于Unix; 是否有跨平台的替代方案?如果可能的话,我想保持代码尽可能简单.

python daemon cross-platform

22
推荐指数
3
解决办法
7801
查看次数

有人可以解释一下Linux库命名吗?

当我在Linux上创建一个库时,我使用这个方法:

  1. 构建:libhelloworld.so.1.0.0
  2. 链接:libhelloworld.so.1.0.0 libhelloworld.so
  3. 链接:libhelloworld.so.1.0.0 libhelloworld.so.1

版本控制是这样的,如果您更改面向公众的方法,您可以构建到libhelloworld.so.2.0.0(并将1.0.0保留在原处),以便使用旧库的应用程序不会中断.

然而,命名为1.0.0的重点是什么 - 为什么不坚持使用libhelloworld.so和libhelloworld.so.1?

另外,最佳做法是使用1.0.0来命名您的库,还是仅仅1?

g++ ... -Wl,-soname,libhelloworld.1
Run Code Online (Sandbox Code Playgroud)

要么:

g++ ... -Wl,-soname,libhelloworld.1.0.0
Run Code Online (Sandbox Code Playgroud)

c++ linux shared-libraries

21
推荐指数
3
解决办法
9615
查看次数

在C++中,1和1i64有什么区别?

我正在将一些32位兼容代码转换为64位 - 我遇到了麻烦.我正在编译VS2008 x64项目,我收到此警告:

warning C4334: '<<' : result of 32-bit shift implicitly converted to 64 bits
(was 64-bit shift intended?)
Run Code Online (Sandbox Code Playgroud)

这是原始的代码行:

if ((j & (1 << k)) != 0) {
Run Code Online (Sandbox Code Playgroud)

如果我遵循微软的建议,这就是它的样子:

if ((j & (1i64 << k)) != 0) {
Run Code Online (Sandbox Code Playgroud)

当代码将在32位和64位系统上编译时,这样做是否安全?如果是这样,请解释为什么我必须添加"i64"到底,以及为什么这不会影响32位编译.否则,将非常感谢解决方案.

除此之外,我看起来像是一个更棘手的代码.

if (id[j] != id[j ^ (1u << k)]) {
Run Code Online (Sandbox Code Playgroud)

我理解"u"意味着数字是无符号的,但是在一个不超过有符号最大值的值上指定的是什么......我猜这与位移有关?

c++ 64-bit bit-shift

20
推荐指数
1
解决办法
8378
查看次数

我可以将哪些数据源用于我的股票市场计划?

我想为Linux和Windows制作一个免费的开源C++应用程序,它将创建实时股票市场图表(即它们经常刷新).

请你能就这些问题给我一些指示:

  • 我应该使用什么作为数据源?我可以实施免费服务吗?我想使用与谷歌这样的公司相同或类似的信息.
  • 我不确定哪种GUI工具包最好用,有没有内置图表,或者我需要使用专门的库吗?

有些事情需要注意:

  • 这是我第一次尝试跨平台C++开发和Linux应用程序.
  • 我的总部设在英国,因此我想使用为伦敦证券交易所(LON)以及纳斯达克等提供信息的数据来源.

c++ open-source trading stocks

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

我可以使用WiX设置自定义许可吗?

WiX生成的MSI的默认许可证是通用公共许可证.如何将其更改为GPLv2?

windows-installer wix

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

Qt Creator如何塑造Eclipse CDT?

Qt Creator看起来像一个很好的IDE.我一直在使用Eclipse CDT,虽然有点小马车,它可以完成这项工作.

Qt Creator是否具有与Eclipse CDT相同的功能?

eclipse qt-creator

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

我是否正确初始化了我的C++引用变量?

我试过谷歌这个问题,我找不到任何我认为相关的东西.所以我一定在寻找错误的东西; 尽管如此,我还是很欣赏一些建议......

Foobar &foobar = *new Foobar(someArg, anotherArg);
Run Code Online (Sandbox Code Playgroud)

它只是我还是看起来很臭?

我知道该new关键字设计用于指针(如此):

Foobar *foobar = new Foobar(someArg, anotherArg);
Run Code Online (Sandbox Code Playgroud)

但是,如果您不需要该实例上的指针,并且您想使用引用呢?或者,您是否需要显式初始化它(很像局部变量); 如果是这种情况,如果我想用参数初始化怎么办?

以下不起作用(除非我做错了):

// the last argument is of type: int
Foobar &foobar(someArg, anotherArg);
Run Code Online (Sandbox Code Playgroud)

...给出编译器错误:

初始化表达式列表作为复合表达式处理从'int'类型的临时表中无效初始化类型'Foobar&'的非const引用

而且这似乎不起作用:

Foobar &foobar = Foobar(someArg, anotherArg);
Run Code Online (Sandbox Code Playgroud)

...给出编译器错误:

错误:从'Foobar'类型的临时类型'Foobar&'类型的非const引用无效初始化

更新1:

请记住我正在返回此值,因此我不想使用局部变量; 我想在堆上使用一个值,而不是堆栈:

Foobar &helloWorld()
{
    Foobar &foobar = *new Foobar(someArg, anotherArg);
    foobar.HelloWorld();
    return foobar;
}
Run Code Online (Sandbox Code Playgroud)

我应该只使用指针,还是完全有效?

c++ pointers initialization reference

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

如何在C++中实现Bézier曲线?

我想实现Bézier曲线.我以前在C#中做过这个,但我对C++库完全不熟悉.我该如何创建二次曲线?

void printQuadCurve(float delta, Vector2f p0, Vector2f p1, Vector2f p2);
Run Code Online (Sandbox Code Playgroud)

显然我们需要使用线性插值,但这是否存在于标准数学库中?如果没有,我在哪里可以找到它?

更新1:

对不起,我忘了提到我正在使用Linux.

c++ math interpolation spline

16
推荐指数
4
解决办法
6万
查看次数

错误,"时间戳服务不可用." 在Mac OS X 10.8上使用codesign时

我正在使用Apple Developer ID证书签署应用程序包.我需要使用命令行工具进行签名,因为我们的构建是自动化的,并且从我们的工具链运行.90%的时间使用此命令正常工作:

ws5:bin nick$ codesign -fs "Developer ID Application: <my name here>" MyApp.app
ws5:bin nick$ spctl --assess MyApp.app
ws5:bin nick$ 
Run Code Online (Sandbox Code Playgroud)

注意: MyApp.app不是我的真实应用程序名称,<my name here>并不是实际值.

因此,可能会有1到10次间歇性地失败并出现此错误:

MyApp.app: The timestamp service is not available.
Run Code Online (Sandbox Code Playgroud)

我已经验证了.app通过隔离机制,spctl --assess并通过压缩和下载签名文件 - 所以请不要说"你做错了,使用Xcode".我知道Apple并没有"正式"推荐使用codesign开发者ID证书(根据WWDC视频),但我们需要将其用于自动化,因为我们的应用程序是gcc和Qt构建输出的奇怪组合.

围绕此错误的最佳策略是重试,直到它再次运行?这就是我能想到的.

macos code-signing

15
推荐指数
5
解决办法
7188
查看次数