linux下引用tinyxml编写库文件供主程序调用怎么编译
具体代码是这样,
作用:主程序调用此so文件实现黑名单和故障预警的功能
- C/C++ code
// blackname.cpp : 定义 DLL 应用程序的入口点。//#include "tinyxml.h" #include "tinystr.h" #include <iostream> #include "time.h" extern "C"{ int isblackname(char* num,char* xmlpath) { int i=0; TiXmlDocument *myDocument = new TiXmlDocument(xmlpath); myDocument->LoadFile(); TiXmlElement *pEleRoot = myDocument->RootElement(); TiXmlElement* pEle = NULL; for (pEle = pEleRoot->FirstChildElement(); pEle; pEle = pEle->NextSiblingElement()) { const char* pszText = pEle->GetText(); if (!strcmp(pszText,num)) { i=1; } } return i; } int isplay(char* xmlpath) { const char* startdate=""; const char* enddate=""; const char* flagstatus=""; TiXmlDocument *myDocument = new TiXmlDocument(xmlpath); myDocument->LoadFile(); TiXmlElement *pEleRoot = myDocument->RootElement(); TiXmlElement* pEle = pEleRoot->FirstChildElement(); for (int i=0;i<4;i++) { pEle=pEle->NextSiblingElement(); switch (i) { case 0: startdate = pEle->GetText(); break; case 1: enddate = pEle->GetText(); break; case 2: flagstatus = pEle->GetText(); break; } } int y1 = 0; int m1 = 0; int d1 = 0; sscanf(enddate, "%d-%d-%d", &y1, &m1, &d1); int totalenddate=y1*12*30*24+m1*30*24+d1*24; sscanf(enddate, "%d-%d-%d", &y1, &m1, &d1); int totalstartdate=y1*12*30*24+m1*30*24+d1*24; struct tm *local; time_t t; t=time(NULL); local=localtime(&t); int totalnow=(local->tm_year+1900)*12*30*24+(local->tm_mon+1)*30*24+local->tm_mday*24; if(!strcmp(flagstatus,"0")&&totalnow>=totalstartdate&&totalnow<=totalenddate) { return 0; } else { return 1; } }}
[解决办法]
不懂,支持一下吧 O(∩_∩)O~