//tt.h
#ifndef BaseLog_H
#define BaseLog_H
#include<cstdio>
#include<string>
#include<process.h>
#include<stdarg.h>
using namespace std;
#define DEBUG printf("[File:%s,Line:%d,Fun:%s] \n",__FILE__,__LINE__,__FUNCTION__)
//#define TRACE printf
#define LOG SetLine(__LINE__),SetFile(__FILE__),log
extern char *mfilename;
extern int mline;
void SetLine(int num);
void SetFile(char *filenm);
void log(const char* traceMessage, ...);
#endif
//tt.cpp
#include"tt.h"
#include"add.h"
int main(int argc,char *argv[])
{
long a=10000;
LOG("%d",argc);
for(int i=0;i<argc;i++)
{
LOG("%s,%ld",argv[i],a);
}
LOG("end");
int x=100,y=200;
CAdd myadd;
myadd.add(x,y);
return 0;
}
char *mfilename;
int mline;
void SetLine(int num)
{
mline=num;
};
void SetFile(char *filenm)
{
mfilename=filenm;
};
void log(const char* traceMessage, ...)
{
char chSendbuf[1025] = {0};
memset(chSendbuf, 0, 1024);
va_list ap;
va_start(ap, traceMessage);
vsprintf(chSendbuf, traceMessage, ap);
va_end(ap);
string Sendbuf;
int iBufLen = strlen(chSendbuf);
while ( iBufLen > 0 )
{
if ( chSendbuf[iBufLen-1]== '\n' || chSendbuf[iBufLen-1] == '\r' )
{
--iBufLen ;
continue ;
}
else
{
Sendbuf = chSendbuf+iBufLen ;
chSendbuf[iBufLen] = 0 ;
break ;
}
}
if ( Sendbuf.length() == 0 ) Sendbuf = "\n" ;
char tmp[2048] = {0};
if(mline > 1)
{
// Date nowtime = Date::GetCurrentTime();
// nowtime.toString();
// sprintf(tmp,"[%d]%s %s%s",nowtime.toString().c_str(),GetFilelineNum(),getpid(),chSendbuf,Sendbuf.c_str());
sprintf(tmp,"(%d)[%s][Line:%d]%s %s",getpid(),mfilename,mline,chSendbuf,Sendbuf.c_str());
}
else if( mline == 1)
sprintf(tmp, "(%d)[%s][Line:%d]%s%s",getpid(),mfilename,mline,chSendbuf,Sendbuf.c_str());
else
sprintf(tmp, "(%d)[%s][Line:%d]%s%s",getpid(),mfilename,mline,chSendbuf,Sendbuf.c_str());
printf("%s\n",tmp);
};
//add.h
#ifndef Add_H
#define Add_H
#include"tt.h"
class CAdd
{
public:
CAdd() ;
virtual ~CAdd() ;
static int add(int a,int b);
};
#endif
//add.cpp
#include"add.h"
CAdd::CAdd()
{
}
CAdd::~CAdd()
{
}
int CAdd::add(int a,int b)
{
// LOG("%d,%d,sum=%d",a,b,a+b);
return a+b;
}
如拷贝#include包含的文件代码、替换#define定义的宏、条件编译#if等。. 何时需要预编译: 1、总是使用不经常改动的大型代码体。 2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的
酷课堂iOS交流群 我们是一个什么样的组织: 酷课堂iOS交流群,聚集了一群热爱技术、有趣、有料,平均Q龄在10年以上的“老司机”,他们遍布在全国/球各地,有知名企业iOS工程师、高校大学生、自由职业者……...
因为单位使用WPS居多。编写的代码语句在office2016中能顺利运行并提取到数据,但是在WPS2019(已安装宏)中无法运行。于是从http://club.excelhome.net/thread-1432952-4-1.html了解到可能还需要安装插件,所以到了...
本示例为设置密码窗口 (1) If Application.InputBox("请输入密码:") = 1234 Then [A1] = 1 密码正确时执行 Else: MsgBox "密码错误,即将退出!" 此行与第2行共同设置密码 End If 本示例为...", vbYesNo) If X = vbYe
一、交叉编译opencv 继上一篇博客:“在Linux下配置opencv”之后,我以为直接将编译命令:g++ `pkg-config --cflags opencv` -o TestOpencv TestOpencv.cpp `pkg-config --libs opencv` 中的g++直接改成arm-linux-...
使用 /sys 文件系统访问 Linux 内核 使用 /sys 文件系统访问 Linux 内核 sysfs 虚拟文件系统提供了一种比 proc 更为理想的访问内核数据的途径 sysfs 与 /sys sysfs 文件系统总是被挂载在 /sys 挂载点上。虽然...
点击上方“大鱼机器人”,选择“置顶/星标公众号”福利干货,第一时间送达!我们鼓励在编程时应有清晰的哲学思维,而不是给予硬性规则。我并不希望你们能认可所有的东西,因为它们只是观点,观点会随...
√vs2005调用dll的时候Initialize()函数返回错误 [VC/MFC ... [VC/MFC 界面] 40 chencheng8095 05-23 00:2911 xianglitian06-10 11:51管理√CFileFind::FindFile 支持通配符么? [VC/MFC 基础类] 100 wysbk002 05-22
我们鼓励在编程时应有清晰的哲学思维,而不是给予硬性规则。我并不希望你们能认可所有的东西,因为它们只是观点,观点会随着时间的变化而变化。可是,如果不是直到现在把它们写在纸上,长久以来这些基...
1 实验室的张志淦同学编译时总出错,请教我。 他在crc.h文件里定义了int array[20]数组。 然后再main.c和crc.c文件中都包含该头文件。结果编译时出现错误,提示说Symbol array mutiply difined (in main.o ...
目录(?)[-] Chap1JNI完全手册Chap2JNI-百度百科Chap 3javah命令帮助信息Chap 4用javah产生一个h...Chap7Jni中C和Java的参数传递Chap8如何将java传递过来的jbyteArray转换成CC中的BYTE数组Chap5使用JNI技术实现java
曾几何时为了兼容IE低版本浏览器而头痛,以为到Mobile时代可以跟这些麻烦说拜拜。可没想到到了移动时代,为了处理各终端的适配而乱了手脚。对于混迹各社区的偶,时常发现大家拿手机淘宝的H5页面做讨论——手淘的H5...
给我一个支点,我可以转动地球----阿基米德对于程序员来说,编程语言就是我们的支点,不同的程序员有不同的支点,而杠杆是需要我们创造的,那些能够成功的吸引人的眼球的设计,都是成功的杠杆,虽然支点不一样,但...
最佳vim技巧 ---------------------------------------- # 信息来源 ---------------------------------------- www.vim.org : 官方站点 comp.editors : 新闻组 ...
友情提示:为了方便你更好的学习和阅读,也更好的体现尊重原创作者的劳动成果,请您直接查看转载原本链接:...常用数据类
<br />最新EXCEL使用技巧大全 《EXCEL使用技巧大全》系本人在大量的网络及相关教材中搜集理论资料,结合实操求证通过后,精心系统整理而成,希望对大家有所帮助。若见谬误之处切请回复指正,更盼大虾不吝...
1.问:WORD里边怎样设置每页不同的页眉?如何使不同的章节显示的页眉不同? 答:分节,每节可以设置不同的页眉。文件——页面设置——版式——页眉和页脚——首页不同 2.问:请问word中怎样让每一章用不同的页眉...
转自:http://blog.donews.com/lvjiyong/archive/2006/06/29/931071.aspx怎样将后台生成的在内存中的图象显示到客户端Microsoft IE WebControls下载地址如何在DATAGRID中使用JAVASCRIPT脚本控制DataGrid中连接到...
Chap1:JNI完全手册... 3 Chap2:JNI-百度百科... 11 Chap 3:javah命令帮助信息... 16 ...Chap 4:用javah产生一个.h文件......Chap6: JNI传递返回值......15.2.2.3 传递字符串......15.2.2.4 传递整
20 MySQL客户工具和API 20.1 MySQL C API C API代码是随MySQL分发的,它被包含在mysqlclient库且允许C程序存取一个数据 ...大多数其他客户 API(除了Java的所有)都使用mysqlclient库与MySQL服务器
也可以当电脑专家——电脑使用故障排除150例 1.观看未下载完的影片 问:我最近用BT软件下载电影,但是必须下载完全部内容才能播放,有时候经常是下载到了90%多的时候,因为没有种子下载无法完成,请问有没 有...
生而知之者,孰能无惑?惑而不从师,其为惑也,终不解矣。 --------韩愈《师说》 在校的IT学生有几百万 都在为如何如何学习才能找到工作、融入社会而迷惑 我们需要的不是灵丹妙药 ...你可能会茫然无措的度...
WORD问:WORD里边怎样设置每页不同的页眉?如何使不同的章节显示的页眉不同?答:分节,每节可以设置不同的页眉。文件——页面设置——版式——页眉和页脚——首页不同 问:请问word中怎样让每一章用不同的页眉?...
本示例为设置密码窗口 (1) If Application.InputBox("请输入密码:") = 1234 Then [A1] = 1 密码正确时执行 Else: MsgBox "密码错误,即将退出!" 此行与第2行共同设置...", vbYesNo) If X = vbYes Then Close 本示例
初级学习OpenGL ES2.0的课程,从无到有,从进本的函数讲起,每一课时都附带一个例子程序。深入浅出的讲解可编程管线技术,令人费解的文理,以及混合技术,各种优化技术:顶点缓冲区,索引缓冲区,帧缓冲区,介绍精灵的使用,并使用shader制作粒子特效。 掌握OpenGL ES2.0可编程管线,以及OpenGLES2.0的特性,带领初学者入门。
本课程使用Qt技术实现了网络电子白板,支持直线、矩形、椭圆、三角形、涂鸦等图形元素。本课程实现的电子白板,可以在多人之间共享,每个人都可以进行任意绘制,每个人的绘制都可以同步显示在其它人的白板上。服务器端使用Qt Network开发,客户端使用Qt Network和Qt Graphics View Framework开发,数据传输使用JSON数据格式。 本课程一步一步演示了网络电子白板的实现,通过不断迭代的方式,综合展示了Qt框架中Network、GraphicsView Framework、JSON等多种技术的运用。通过本课程的学习,一方面可以学习到如何使用Qt的网络和图形视图模块进行综合性项目开发,另一方面也可以了解如何进行实战项目开发,丰富实战项目开发经验。
微信小程序源码,包含:图片展示、外卖点餐、小工具类、小游戏类、演绎博览、新闻资讯、医疗保健、艺术生活等源码。
例子主要包括SocketAsyncEventArgs通讯封装、服务端实现日志查看、SCOKET列表、上传、下载、远程文件流、吞吐量协议,用于测试SocketAsyncEventArgs的性能和压力,最大连接数支持65535个长连接,最高命令交互速度达到250MB/S(使用的是127.0.0.1的方式,相当于千兆网卡1Gb=125MB/S两倍的吞吐量)。服务端用C#编写,并使用log4net作为日志模块; 同时支持65536个连接,网络吞吐量可以达到400M。
2020简历模板合集