// demo2.h
#include
void testFunc(int num)
{
std::cout << num << std::endl;
}
//main.cc
#include "demo2.h"
void func1()
{ }
void func2()
{
testFunc(24);
}
int main()
{
func1();
func2();
return 0;
}
testFunc
是在哪一行被调用了。define
实现#include
#define testFunc(num) __testFunc(num, __FILE__, __FUNCTION__, __LINE__)
void __testFunc(int num, const char* fileName, const char* funcName, int line)
{
std::cout << fileName << std::endl;
std::cout << funcName << "()" << std::endl;
std::cout << "line: " << line << std::endl;
std::cout << num << std::endl;
}
#include "demo2.h"
void func1()
{ }
void func2()
{
testFunc(24);
}
int main()
{
func1();
func2();
return 0;
}
作为 debug 的时候很有用。