小编Paw*_*dan的帖子

如何从一个long long int中提取四个unsigned short int?

假设我有一个long long int并且想要取其位并构造四个无符号短整数.

特别顺序在这里并不重要.

我通常知道我需要将位移位并截断为unsigned short int的大小.但我想我可能会在某个地方犯一些奇怪的错误,所以我问.

c c++ 64-bit bit-manipulation

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

如何从Linux上的系统缓存中逐出文件?

运行性能测试时,文件系统缓存命中或未命中会显着影响测试结果.因此,通常在运行此类测试之前,使用的文件将从系统缓存中逐出.如何在Linux上做到这一点?

澄清:如果可能,解决方案不应要求root权限.

linux testing performance file-io caching

5
推荐指数
3
解决办法
3576
查看次数

如何在Linux上获得等效的printf_l?

此功能在OS X上存在,并允许您将自定义本地传递给该功能。setlocale不是线程安全的,因此按参数传递语言环境是安全的。

如果没有等效项,则可以使用任何与语言环境无关的方法printf或仅用于双精度(%g)的printf。

c++ printf locale thread-safety

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

什么是timeGetTime的最佳替代品,以避免环绕?

timeGetTime似乎非常适合查询系统时间.但是,它的返回值仅为32位,因此每49天左右就会回绕一次.

在调用代码时检测翻转并不太难,但它增加了一些复杂性,并且(更糟)需要保持状态.

是否有一些替换timeGetTime没有这个环绕问题(可能通过返回64位值),并具有大致相同的精度和成本?

c++ windows time

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

将C++代码移植到MacOS有哪些建议?

对于即将推出的项目,计划将在Windows和Linux上编译的现有C++代码移植到MacOS(leopard).该软件是命令行应用程序,但可能会计划GUI前端.MacOS使用g ++编译器.通过使用与Linux相同的编译器,似乎不存在任何问题,但总会有.

在港口期间是否有任何建议或问题需要注意?

c++ macos portability g++

4
推荐指数
1
解决办法
1595
查看次数

什么是非空STL擦除的安全等价物?

假设我有一个hash_map和一个代码

// i is an iterator
i = hash_map.erase(i)
Run Code Online (Sandbox Code Playgroud)

但GCC的STL并没有在擦除中返回迭代器,而是一个空白.现在是一个类似的代码

hash_map.erase(i++)
Run Code Online (Sandbox Code Playgroud)

安全(即不会使迭代器无效或做任何其他意外或不愉快的事情)?请注意这是一个hash_map.

c++ iterator stl hashmap

4
推荐指数
1
解决办法
1413
查看次数

在Linux/POSIX中Windows的rand_s的最佳替代品是什么?

问题不在于随机性本身(我们有兰特),而在于加密安全的PRNG.可以在Linux上使用什么,或者理想的POSIX?NSS有用吗?

澄清:我知道/ dev/random,但它可能用完了熵池.而且我不确定/ dev/urandom是否保证加密安全.

linux security random cryptography

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

如何防止在PHP中使用不正确的类型?

PHP,我们都知道是非常松散的类型.该语言不要求您为函数参数或类变量指定任何类型的类型.这可能是一个强大的功能.

但有时候,它可以使调试脚本成为一种痛苦的经历.例如,将一种对象传递给需要不同类型对象的方法可能会产生错误消息,抱怨传递的对象不存在某个变量/方法.这些情况大多是烦恼.更糟糕的问题是当您使用错误类的对象初始化一个对象时,并且直到稍后在脚本执行中才会使用"错误对象".在这种情况下,您最终得到的错误要比通过原始参数的时间晚得多.

而不是抱怨我传递的内容没有特定的方法或变量,或者等待很久以后在脚本执行中为我传入的对象使用,我宁愿有一条错误消息,在我指定对象的确切位置错误的类型,抱怨对象的类型不正确或不兼容.

你如何处理代码中的这些情况?你如何检测不兼容的类型?如何在脚本中引入一些类型检查,以便我可以更容易理解错误消息?

另外,如何在Php中考虑继承时如何做到这一切?考虑:

<?php
class InterfaceClass
{
#...
}

class UsesInterfaceClass
{
   function SetObject(&$obj) 
   {
       // What do I put here to make sure that $obj either
       // is of type InterfaceObject or inherits from it       

   }
}
?>
Run Code Online (Sandbox Code Playgroud)

然后,此代码的用户使用自己的具体类实现接口:

<?php

class ConcreteClass extends InterfaceClass
{
}



?>
Run Code Online (Sandbox Code Playgroud)

我希望ConcreteClass实例以及所有未来的未知用户定义对象也可以被SetObject接受.如何在检查正确类型时允许这样做?

php oop type-safety

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

如何从struct sockaddr生成struct addrinfo?

我有一个struct sockaddr并且需要创建一个struct addrinfo(特别是那个,因为这是其他一些API想要的).IP地址可以是IPv4或IPv6.处理这个问题的最佳方法是什么?

c sockets networking

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

如何计算ELF文件中的静态初始化程序?

我正在尝试在C++文件中计算静态初始值设定项.

我已经拥有的解决方案(曾经使用过gcc-4.4)正在查看.ctors ELF部分的大小.

在升级到gcc-4.6之后,这似乎不再返回有效结果(计算出的静态初始化器的数量为0,这与现实不匹配,例如由nm返回).

现在的问题是,即使没有符号,我也希望解决方案能够工作(否则我会使用nm).

下面是示例可执行文件的readelf -SW的输出:

从偏移量0x4f39820开始有35个节标题:

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .interp           PROGBITS        00000174 000174 000013 00   A  0   0  1
  [ 2] .note.ABI-tag     NOTE            00000188 000188 000020 00   A  0   0  4
  [ 3] .note.gnu.build-id NOTE            000001a8 0001a8 000024 00   A  0   0  4
  [ 4] .gnu.hash         GNU_HASH        000001cc 0001cc 000918 04   A  5   0  4
  [ …
Run Code Online (Sandbox Code Playgroud)

c++ linux gcc elf

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

C++为什么这个向量访问会产生运行时错误?

我在这行代码中挑出了一个运行时错误:

for (synsAuxCopyIndex=1; synsAuxCopyIndex<synsAux.size(); synsAuxCopyIndex++)
Run Code Online (Sandbox Code Playgroud)

哪个在pushSynonyms(string synline, vector<WordInfo> &wordInfoVector)函数内部运行.我不明白为什么这个特定的行会产生错误,因为我认为我没有将任何超出范围的索引.

调试器说:

Uncontrolled Exception 0x00411cbf in program.exe: 0xC0000005: Infracción de acceso al leer la ubicación 0x00000000.
Run Code Online (Sandbox Code Playgroud)

我猜"Infraccióndeacceso"将翻译为英语调试器上的未经授权的访问.

输入文件是

dictionary.txt

1 cute
2 hello
3 ugly
4 easy
5 difficult
6 tired
7 beautiful
synonyms
1 7
7 1
antonyms
1 3
3 1 7
4 5
5 4
7 3
Run Code Online (Sandbox Code Playgroud)
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <vector>

using namespace std;

class WordInfo{
 public:                
  WordInfo() {}

  ~WordInfo() {} …
Run Code Online (Sandbox Code Playgroud)

c++ runtime-error

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

哪个gcc开关禁用"逗号的左手操作数无效"警告?

它是更大的代码库的一部分,它强制-gerror上的错误.此警告是在不应更改的第三方代码中生成的(我实际上知道如何修复它),但我可以禁用特定警告.这次男人gcc让我失望了,所以请让一些gcc高手赐教.TIA.

gcc warnings

0
推荐指数
2
解决办法
1568
查看次数