小编Vio*_*ffe的帖子

有没有办法在少于 3 个系统调用中测试文件结尾?

我想测试 引用的给定文件的位置是否fd位于文件末尾。例如 当前位置==文件大小。有没有办法在少于 3 个系统调用的情况下完成此操作?这 3 个调用是:

  1. 获取当前位置lseek
  2. lseek到文件末尾并存储该位置(即文件大小)
  3. 比较两者,如果不同,lseek则回到原来的位置。

c linux file-descriptor

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

Qt Creator:如何从Win64识别Win32

我必须在.pro文件中执行以下操作:

win32 {
    LIBS += -L../3rdparty/libusb-win32/lib/msvc -llibusb
} else
win64 {
    LIBS += -L../3rdparty/libusb-win32/lib/msvc_x64 -llibusb
}
Run Code Online (Sandbox Code Playgroud)

问题是它不起作用,它总是链接win32库。有什么建议么?

c++ 64-bit qt qmake

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

请使用boost.thread或C++ 11建议有关多线程的有价值的书

对于您的意见,哪本书值得购买?我通常熟悉多线程概念,OpenMP,基本的WinAPI线程.我现在想学习有效地使用新的std :: thread或boost.thread - 我不熟悉原子,条件变量等等.

c++ multithreading boost-thread c++11

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

为什么指定哪个输入库很重要?

我对Linux编程很陌生.你可以说我是一个Windows家伙.所以,我把我的项目移植到Linux,它几乎让我疯了:我确定我已经用-l标志指定了所有依赖项,但是我得到了"未解决的符号"错误.然后我找到了这个主题,它解决了我的问题:在Linux上加强与GCC的连接

有人可以解释一下,为什么订单很重要,以及它究竟有多重要?我很确定MSVC链接器的情况并非如此......

linux linker ld

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

为什么一些AlertDialogs会在设备轮换时消失?

当我更改设备方向时,如果显示AlertDialog,它将消失.对于我的应用程序中除了一个对话框之外的所有对话框都是如此,我无法弄清楚那些不会消失的内容以及如何抵消这种行为.是否有可能在方向改变时保留对话(手动管理除外)?

user-interface android

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

使用OpenGL在空间中渲染星星的可能技术?

我有大量的恒星(颗粒),几乎没有在很大的空间内散射.我需要以某种方式可视化这个空间,包括导航.显然,我不能只用粒子的所有真实空间坐标来提供OpenGL,看起来我需要执行严格的处理并想出一些易于渲染的东西,比如纹理或OpenGL友好的少量点坐标.所以,问题是,是否有解决这项任务的常用技术,如果没有 - 你会怎么做?

opengl

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

查询购买的商品时获取订单ID

我正在查询查询自有项目,但它不包括获取用户实际购买时可用的Checkout订单ID.是否无法查询已经进行的购买的订单ID?

android in-app-purchase android-billing

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

为什么在类对象数组上调用delete而不是delete []会导致堆损坏?

考虑一下代码:

class A {
public:
    virtual ~A() {}
};

class B : public A {
public:
    ~B() {}
};

void main ()
{
    A * array = new A[100];
    delete array;
}
Run Code Online (Sandbox Code Playgroud)

在Windows(MSVC 2010)上,它会导致异常,因为delete调用HeapValidate会指示堆已损坏.这是怎么发生的?

我确实delete[]应该在这里打电话,当然那没有问题.但为什么会delete导致堆损坏?据我所知,它应该为第一个对象(array[0]*array)调用析构函数,然后释放整个块.现实中会发生什么?

注意:如果类A只有默认的析构函数,即我根本没有声明它的析构函数,则不会发生异常.无论析构函数是否为虚函数.在调试和发布版本中都有.

PS是的我知道这是未定义的行为.

c++ windows destructor memory-management

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

从排序的std :: vector中删除具有相同键的最后一个元素的最简洁方法是什么?

我有一个结构向量{key; value},按键排序:

{ {0, 1}, {0, 2}, {1, 1}, {1, 2}, {1, 3}, {2, 1}, {2, 2} }

我需要使用相同的键擦除除最后一个元素之外的所有元素.结果应该是:

{ {0, 2}, {1, 3}, {2, 2} }

最简洁的方法是什么?我可以使用哪种STL算法?显然,此任务不适合删除 - 擦除习惯用法.

c++ stl vector

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

是否可以修复Windows头文件(winnt.h,windefs.h),以便可以使用/ Za编译它们?

我正在为多个平台(Windows,Linux,Mac OS X)开发应用程序,我想确保我的代码符合ISO C++标准.在Linux和Mac上,它-pedantic-errors在Windows上使用/Zaflag 实现- 带有标志(禁用语言扩展).问题是,一些Windows标头不符合C++(并且以愚蠢的方式,没有什么重要的 - 大多数错误都是'$' : unexpected in macro definition,'__forceinline' not permitted on data declarations并且类似的废话).你认为可以修复标题吗?有人试过吗?

c++ windows visual-c++

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