c++

I am attempting to write an application that uses libCurl to post soap requests to a secure web service. This Windows application is built against libCurl version 7.19.0 which, in turn, is built against openssl-0.9.8i. The pertinent curl related code follows: FILE *input_file = fopen(current->post_file_name.c_str(), "rb"); FILE *output_file = fopen(current->results_file_name.c_str(), "wb"); i

C ++

我正在尝试编写一个使用libCurl将肥皂请求发布到安全Web服务的应用程序。 此Windows应用程序是针对libCurl版本7.19.0构建的,而该版本反过来是针对openssl-0.9.8i构建的。 相关的卷曲相关代码如下: FILE *input_file = fopen(current->post_file_name.c_str(), "rb"); FILE *output_file = fopen(current->results_file_name.c_str(), "wb"); if(input_file && output_file) { struct curl_slist *header_opts = 0;

Do Ideone and Codepad really not support C++03?

My question is related to Prasoon's question about non POD types and value initialization. I tried the following code on online compilers like Ideone and Codepad but the executables gave runtime error on both the sites. #include <iostream> #include <cassert> struct Struct { std::string String; int Int; bool k; }; struct InStruct:Struct { InStruct():Struct(){} }

Ideone和Codepad确实不支持C ++ 03吗?

我的问题与Prasoon关于非POD类型和值初始化的问题有关。 我在Ideone和Codepad等在线编译器上尝试了以下代码,但可执行文件在两个站点上都给出了运行时错误。 #include <iostream> #include <cassert> struct Struct { std::string String; int Int; bool k; }; struct InStruct:Struct { InStruct():Struct(){} }; int main() { InStruct i; assert ( i.Int == 0); std::cout <<

session DVD disk size in Windows?

Trying to read the sizes of disks that were created in multiple sessions using GetDiskFreeSpaceEx() gives the size of the last session only. How do I read correctly the number and sizes of all sessions in C/C++? Thanks. You might want to look at the DeviceIoControl API function. See here for control codes. Here is a code example that retrieves the size of a CD disk. Substitute CreateFile

在Windows中会话DVD磁盘大小?

尝试读取使用GetDiskFreeSpaceEx()在多个会话中创建的磁盘大小只会给出最后一个会话的大小。 如何正确读取C / C ++中所有会话的数量和大小? 谢谢。 您可能需要查看DeviceIoControl API函数。 在这里查看控制代码。 这是一个检索CD磁盘大小的代码示例。 替代 CreateFile(TEXT("\\.\PhysicalDrive0") 例如 CreateFile(TEXT("\\.\F:") /* Drive is F: */ 如果你希望。 注意:该页面说DeviceIoControl可以用来“检索

No deduction in a class template

template<typename T> class A { public: A(T b) : a(b) { } private: T a; }; A object(12); //Why does it give an error? 为什么不能自动从参数12推导出类型T? Template argument deduction applies only to function and member function templates but not to class templates. So your code is ill-formed. You need to provide the template argument explicitly. A<int> objec

在课堂模板中没有扣除

template<typename T> class A { public: A(T b) : a(b) { } private: T a; }; A object(12); //Why does it give an error? 为什么不能自动从参数12推导出类型T? 模板参数推导仅适用于函数和成员函数模板,但不适用于类模板。 所以你的代码是不合格的。 您需要明确提供模板参数。 A<int> object(12); //fine

ALSA: How to tell when a sound is finished playing

I have a c++ object that accepts sound requests and plays them with ALSA. There is thread that processes the sound requests. Some sounds are periodic and are rescheduled after the wav file contents have been written to the ALSA library. Is there a way I can find out when all the data has been played? The function snd_pcm_writei is a blocking write function, but it does not necessarily mean th

ALSA:如何判断声音何时播放完毕

我有一个c ++对象,它接受声音请求并用ALSA播放它们。 有线程处理声音请求。 有些声音是周期性的,在wav文件内容写入ALSA库之后会重新安排。 有什么方法可以查明所有数据何时播放? 函数snd_pcm_writei是一个阻塞写入函数,但并不一定意味着该文件已被播放。 我正在考虑的一个选项是在播放每个声音文件后调用snd_pcm_drain,然后在播放下一个文件时调用snd_pcm_prepare。 这会是一个很好的解决方案吗? 或者这是低效的?

C++ Google Protocol Buffers open http socket

SO helpful folks: This is another NEWBIE question. I am new at C++, Google Protocol Buffers, and serializing messages over HTTP without SOAP (even with SOAP for that matter). I am trying to send image data over http. I was told that Google Protocol Buffers was the way to go. So I eagerly started going through all of the documentation and used CocoaPods to install and include Google Protocol

C ++谷歌协议缓冲区打开http套接字

那么有帮助的人: 这是另一个NEWBIE问题。 我是C ++,Google协议缓冲区的新手,通过HTTP序列化消息时没有使用SOAP(即使使用SOAP也是如此)。 我试图通过http发送图像数据。 有人告诉我Google Protocol Buffers是最好的选择。 所以我急切地开始浏览所有文档,并使用CocoaPods安装Google Protocol Buffer类并将其包含到我的项目中。 我创建了我的.protoc文件并生成了这些类。 现在我正在使用生成的类填充数据。 怎么办?

Accessing C++ typedef in Python using SWIG

I have a C++ API I'm trying to wrap in Python. I want to call a wrapped C++ function myfunc taking as an argument the following C++ typedef /* my_header.h */ namespace my_namespace { typedef std::vector<Foo> Bar } where Foo is a C++ class. I managed to wrap the function and the underlying class Foo, but I don't know how to create the vector of Foo. I included the .h file in my

使用SWIG在Python中访问C ++ typedef

我有一个C ++ API,我试图用Python来包装。 我想调用一个包装的C ++函数myfunc,并将其作为参数用于下面的C ++ typedef /* my_header.h */ namespace my_namespace { typedef std::vector<Foo> Bar } Foo是一个C ++类。 我设法将函数和底层类Foo包装起来,但我不知道如何创建Foo的向量。 我将.h文件包含在我的SWIG .i文件中,如下所示 /* my_interface.i */ %{ #include "my_header.h" typedef my_namespace::Bar B

SWIG C++ bindings with callback

I am writing some SWIG/Python bindings for some C++ code. This is for what is called the Kinect Accidental API, I have the motor and led functions working. The callbacks to the Listener class which parse and populate the RGB and Depth buffers do not seem to get called from SWIG. The data capture threads evidently start up and start hogging the CPU, but no debug lines from the callback come thr

SWIG C ++与回调绑定

我正在为一些C ++代码编写一些SWIG / Python绑定。 这就是所谓的Kinect Accidental API,我有电机和led功能的工作。 对解析和填充RGB和Depth缓冲区的Listener类的回调似乎没有从SWIG调用。 数据捕获线程明显启动并开始占用CPU,但没有来自回调的调试线路通过。 什么是更好的方式来填充数据缓冲区并从python中轻松访问它们? class KinectListener { public: virtual ~KinectListener(){}; virtual void

boost compressed matrix basics

I am confused on how the boost::compressed_matrix works. Suppose I declare the compressed_matrix like this: boost::numeric::ublas::compressed_matrix<double> T(1000, 1000, 3*1000); This allocates space for 3*1000 elements in a 1000x1000 matrix. Now how do I give it the locations which are the non-zero elements? When and how are the non-zero elements set? Is it each time I assign an ele

提升压缩矩阵基础

我很困惑boost :: compressed_matrix是如何工作的。 假设我像这样声明了compressed_matrix: boost::numeric::ublas::compressed_matrix<double> T(1000, 1000, 3*1000); 这为1000x1000矩阵中的3 * 1000个元素分配空间。 现在我该如何给它提供非零元素的位置? 何时以及如何设置非零元素? 每次我在矩阵中分配一个元素,例如B(4,4)= 4,它会将该元素标记为非零? 如果可以的话,我会非常感激你能否帮助我学习这

How is "int main(){(([](){})());}" valid C++?

I recently came across the following esoteric piece of code. int main(){(([](){})());} Reformat it as follows to make it more readable: int main(){ (([](){})()); // Um... what?!?! } But I can't get my head around how (([](){})()) is valid code. It doesn't look like function pointer syntax. It can't be some operator overloading trick. The code compiles as is. Google d

如何“int main(){(([[](){})());}”有效的C ++?

我最近遇到了下面这段深奥的代码。 int main(){(([](){})());} 重新格式化如下,使其更具可读性: int main(){ (([](){})()); // Um... what?!?! } 但是我无法理解(([](){})())是如何有效的代码。 它看起来不像函数指针语法。 它不能是一些操作符重载的伎俩。 代码按原样编译。 Google对这种全符号搜索没有多大帮助。 但它在Visual Studio 2010中编译并不输出任何内容。 没有错误,也没有警告。 所以它看起