#pragma once #ifdef _WIN32 # if defined(PSignalCheck_LIB) # define PSignalCheck_EXPORT __declspec(dllexport) # else # define PSignalCheck_EXPORT __declspec(dllimport) # endif #else # define PSignalCheck_EXPORT #endif #define BPSK 1 #define QPSK 2 #define bp96_ccow 0 #define bp96_01 1 #define bp96_02 2 #define bp96_03 3 #define bp96_04 4 #define bp192_01 5 #define bp192_02 6 #define bp192_03 7 #define qp16_01 8 #define qp16_02 9 #define qp16_03 10 #define qp16_04 11 #define qp16_05 12 #define qp16_06 13 #define qp16_07 14 #define qp16_08 15 #define qp16_09 16 struct slot { slot() {} slot(int s, int l, double p, int m, int sm) { start = s; len = l; ps = p; mode = m; sigflag = sm; } int sigflag; int start; int len; int mode; double ps; bool operator < (const slot& item1) const { return start < item1.start; } }; extern "C" { /// /// 初始化 /// PSignalCheck_EXPORT void PSignalInit(); /// /// fileName : 输入文件 /// fsample : 采样率 /// snr : 门限 /// signalslots : 输出 /// return -1:数据读取失败 /// 其他 返回个数 /// PSignalCheck_EXPORT int PSignalCheck(const char *fileName, __int64 fsample, double snr, slot **signalslots); /// /// 清空开辟的空间 /// PSignalCheck_EXPORT void pSignalFree(slot *signalslots); };