У меня есть код в C++, называемый source.cpp. И у меня есть библиотека в C. Я использую Cygwin и запускаю: g ++ source.cpp -L/cygdrive/c/cygwin/home/Win7/libpaillier -l: libpaillier.a -lgmpxx -lgmp для создания файла .exe, а затем запустить его. В конце я получаю «segmentation fault (core dumped)». Мне нужно знать, почему я получаю эту ошибку.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
Функция 'paillier_keygen' нуждается в действительном указателе функции в качестве последнего аргумента. В документации предлагается два варианта выбора. – molbdnilo
Я новичок в cygwin, не могли бы вы рассказать мне, как? – user13676