小编Ger*_*ald的帖子

如何打印从动态库导出的符号列表

所以我一直在尝试让动态库在我的Mac OS X下的XCode项目中工作.到目前为止,没有任何乐趣.

我能够加载dylib文件,但是当我调用dlsym获取函数指针时,它返回0并且dlerror表示找不到符号.

所以我想知道是否有一种简单的方法来列出从dylib文件导出的符号.任何想法都会很棒.

macos dylib

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

如何转义字符串以在Boost Regex中使用

我只是把我的头脑放在正则表达式上,而我正在使用Boost Regex库.

我需要使用包含特定URL的正则表达式,并且它会窒息,因为显然URL中有为正则表达式保留并且需要进行转义的字符.

Boost库中是否有任何函数或方法来转义字符串以进行此类用法?我知道在大多数其他正则表达式实现中都有这样的方法,但我没有在Boost中看到一个.

或者,是否有需要转义的所有字符的列表?

c++ regex boost escaping

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

Mac OS X中的唯一硬件ID

Mac OS X开发对我来说是一个相当新的动物,我正在移植一些软件.对于软件许可和注册,我需要能够生成某种硬件ID.它不一定是任何花哨的东西; 以太网MAC地址,硬盘串口,CPU串口等等.

我已经在Windows上覆盖了它,但我对Mac没有任何线索.知道我需要做什么,或者我可以在哪里获取有关此信息的信息会很棒!

编辑:

对于任何对此感兴趣的人,这是我最终使用Qt的QProcess类的代码:

QProcess proc;

QStringList args;
args << "-c" << "ioreg -rd1 -c IOPlatformExpertDevice |  awk '/IOPlatformUUID/ { print $3; }'";
proc.start( "/bin/bash", args );
proc.waitForFinished();

QString uID = proc.readAll();
Run Code Online (Sandbox Code Playgroud)

注意:我正在使用C++.

c++ macos unique hardware-id

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

通过CMake在Xcode 4.2项目中使用C++ 0x

我正在使用CMake为OSX Lion上的Xcode 4.2生成一个项目文件,我正在使用LLVM中的一些C++ 0x功能,如nullptr和auto.为了使用它们,Xcode要求设置2个项目设置:

C++语言方言设置为C++ 0x [-std = C++ 0x]

C++标准库设置为libc ++(LLVM C++标准库,支持C++ 0X)

目前每次生成Xcode项目时,我都必须进入并手动调整这些设置.

有没有办法在CMake中指定这些设置?

谢谢

c++ xcode cmake c++11

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

跨平台绘图库

我一直在寻找一个可以从C++调用的良好的跨平台2D绘图库,可以用来绘制一些相当简单的几何体; 某些图表的线条,矩形,圆圈和文本(水平和垂直),并将输出保存到PNG.

我认为商业软件包比开源更受欢迎,因为我们不想担心许可问题(除非有BSD风格的许可证没有信用条款).我看过Cairo Graphics看起来很有希望,但是文本渲染看起来像废话,并且文本后端的升级将我们带入了阴暗的许可证之地.

我需要它适用于Windows,Mac和Linux.优选地,相当轻便且易于集成的东西.我考虑过Qt,但这对我们的应用来说太沉重了.

对此的任何想法都会很棒.

c++ drawing cross-platform

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

MVC6应用中的OAuth令牌过期

所以我有一个MVC6应用程序,其中包括一个身份服务器(使用ThinkTecture的IdentityServer3)和一个MVC6 Web服务应用程序.

在Web服务应用程序中,我在启动时使用此代码:

app.UseOAuthBearerAuthentication(options =>
{
    options.Authority = "http://localhost:6418/identity";
    options.AutomaticAuthentication = true;
    options.Audience = "http://localhost:6418/identity/resources";
});
Run Code Online (Sandbox Code Playgroud)

然后我有一个控制器,其动作具有该Authorize属性.

我有一个JavaScript应用程序,它使用身份服务器进行身份验证,然后使用提供的JWT令牌来访问Web服务操作.

这有效,我只能使用有效令牌访问该操作.

当JWT到期时问题就出现了.我得到的似乎是一个详细的ASP.NET 500错误页面,它返回以下异常的异常信息:

System.IdentityModel.Tokens.SecurityTokenExpiredException IDX10223:生命周期验证失败.令牌已过期.

我对OAuth很新,并且通常保护Web API,所以我可能会偏离基础,但对于过期令牌而言,500错误对我来说似乎不合适.对于Web服务客户端来说,它绝对不友好.

这是预期的行为,如果不是,我需要做些什么来获得更合适的回应?

oauth-2.0 jwt identityserver3 asp.net-core

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

如何在具有CMake构建的Windows DLL中嵌入特定的清单文件?

所以我有一个使用CMake构建的DLL,需要嵌入特定的清单文件.在Visual Studio设置中,我只需在清单工具/输入和输出/附加清单文件下添加清单文件名,它就可以正常工作.看起来这对CMake应该是可行的,但我一直无法弄清楚.

关于如何使用CMake完成此任务的任何想法?

windows manifest cmake

10
推荐指数
3
解决办法
9220
查看次数

强制div比浏览器窗口更宽

如何强制DIV比浏览器窗口更宽,以便水平地容纳它的子项,而不是强制它们在新行上

即用小提琴考虑下面的代码.容器元素中有6个子元素,最小宽度为200px,并且都设置为float:left.当窗口调整得足够宽时,它们都在一行上.当它变窄时,它们开始推动新的行.理想情况下,我希望它们保持在一行并让浏览器显示滚动条.

http://jsfiddle.net/krippy2k/x8sDp/20/

.container {
}

.child-element {
    min-width: 200px;
    float: left;
    height: 100px;
}

.child1 {
    background-color: purple;
}
.child2 {
    background-color: orange;
}
.child3 {
    background-color: black;
}
.child4 {
    background-color: green;
}
.child5 {
    background-color: blue;
}
.child6 {
    background-color: red;
}

<div class="container">
    <div class="child-element child1"></div>
    <div class="child-element child2"></div>
    <div class="child-element child3"></div>
    <div class="child-element child4"></div>
    <div class="child-element child5"></div>
    <div class="child-element child6"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

html css css-float

7
推荐指数
2
解决办法
5074
查看次数

如何在Firefox中为所有页面元素实现内容转换器?

我正在尝试将Internet Explorer插件移植到Firefox,但我不确定在哪里寻找我需要的东西.

基本上我需要能够使用某个Content-Type标头过滤浏览器收到的所有内容.我尝试实现流转换器,这是有效的,但仅适用于页面,框架或iframe中的顶级文档.我遇到了与IE相同的问题,并且绕过它真的很hacky,因为我理想这样做是跨平台的,我真的希望能够在Firefox中做到这一点而不诉诸vtable hacks.

内容以专有压缩格式压缩.因此,我需要接收数据,对其进行解压缩,然后将Content-Type更改回原始未压缩文件应具有的内容.

如果有一种方法可以过滤所有收到的数据,那可能是可以接受的,我可以自己处理解析标题.

谢谢

firefox xpcom mime-filter

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

C#中的1024位Diffie-Hellman

所以我正在开发一个项目,将C#客户端与现有的服务器技术连接起来.其中一个要求是使用Diffie-Hellman进行密钥交换.

我们已知公共P和G,我需要生成一个1024位的公钥才能发送到服务器.

以下是在C++中使用OpenSSL在服务器端使用的.目前我在通过P/Invoke调用的本机DLL中使用相同的代码,它也可以工作.如果可能的话,我宁愿消除本机DLL依赖.

char publicKey[128];
char P[128]; //this is set to a static 128-byte value, omitting for brevity
unsigned long G = 2;

DH* dh = DH_new();
dh->p = BN_new();
dh->g = BN_new();

BN_set_word(dh->g, G);
BN_bin2bn(P, 128, dh->p);
if(DH_generate_key(dh))
{
   BN_bn2bin(dh->pub_key, publicKey);
}
Run Code Online (Sandbox Code Playgroud)

这会生成一个1024位的公钥.

我已经尝试过在BouncyCastle中使用DH类,但无论出于什么原因我无法给它一个1024位密钥,它想给我一个960位密钥.可能是因为我真的不知道自己在做什么.我找不到关于如何使用类的实际解释方式.

是否可以使用BouncyCastle DH类与上面发布的OpenSSL DH代码一样工作?如果没有,是否有另一个更好的C#实现?

c# bouncycastle diffie-hellman

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