我在C++中有一个名为source.cpp的代码。我使用Cygwin并运行:g ++ source.cpp -L/cygdrive/c/cygwin/home/Win7/libpaillier -l:libpaillier.a -lgmpxx -lgmp创建一个.exe文件,然后运行。最后,我得到“分段错误(核心转储)”。我需要知道为什么我得到这个错误。g ++:分段错误(核心转储)
Source.cpp:
#include<iostream>
#include<gmp.h>
#include <gmpxx.h>
using namespace std;
#include <string>
extern "C"{
#include<paillier.h>
}
#include<math.h>
#include <stdio.h>
#include <stdlib.h>
int main(){
paillier_pubkey_t* pu;//The public key
paillier_prvkey_t* pr;//The private key
paillier_get_rand_t get_rand;
paillier_keygen(1024, &pu,&pr, get_rand);
return 0;
}
Paillier库:http://acsc.cs.utexas.edu/libpaillier/
你试过使用调试器吗? – TartanLlama 2015-02-10 12:31:48
paillier_keygen函数需要一个有效的函数指针作为其最后一个参数。该文档建议两个供您选择。 – molbdnilo 2015-02-10 12:34:09
我是cygwin的新手,你能告诉我怎么做吗? – user13676 2015-02-10 12:34:33