C# macro function via #define __FILE__ __LINE__ ___FUNCTION__ __DATE__ __TIME__

#include <iostream>
#include <uuid/uuid.h>
#include <ctime>
#include <unistd.h>
#include <fstream>
#include <sstream>

static char *dtValue=(char*)malloc(20);
static char *uuidValue=(char*)malloc(40);

char *getUuid2()
{
    uuid_t newUUID;
    uuid_generate(newUUID);
    uuid_unparse(newUUID,uuidValue);
    return uuidValue;
}

char *getTimeNow()
{
    time_t rawTime=time(NULL);
    struct tm tmInfo=*localtime(&rawTime);
    strftime(dtValue,20,"%y%m%d%H%M%S",&tmInfo);
    return dtValue;
}

#define Multiply(x,y){x*y}
void macro8();
void macro9();

int main()
{
    macro9();
    return 0;
}

void macro9()
{
    cout<<"FILE="<<__FILE__<<endl;
    cout<<"LINE="<<__LINE__<<endl;
    cout<<"FUNCTION="<<__FUNCTION__<<endl;
    cout<<"DATE="<<__DATE__<<endl;
    cout<<"TIME="<<__TIME__<<endl;
    cout<<"Finished in macro9() and now is "<<getTimeNow()<<endl;
    free(uuidValue);
    free(dtValue);
}

void macro8()
{
    double d1=10.4352,d2=4645.43;
    double d3=Multiply(d1,d2);
    cout<<"d3="<<to_string(d3)<<endl;
    int i1=3452,i2=4265456;
    int i3=Multiply(i1,i2);
    cout<<"i3="<<i3<<endl;
}

Compile via

g++ -g -std=c++2a -I. h1.cpp -o h1 -luuid

Run ./h1

C# macro function via #define __FILE__ __LINE__ ___FUNCTION__ __DATE__ __TIME__

 

int main()
{
    macro8();
    return 0;
}

 

 

C# macro function via #define __FILE__ __LINE__ ___FUNCTION__ __DATE__ __TIME__

 

上一篇:via浏览器去掉知乎的提示登陆弹出窗口


下一篇:CPS fact debug - Continuation-pass style