#include "stdafx.h"
#include <stdio.h>
#include <time.h>
#define DEBUG_LOG( str ) log_append_to_file("c:\\test.txt", str,__FILE__,__LINE__ );
void log_append_to_file(char* filename,char* str,char* sourceFile,int fileLine)
{
time_t t;
time(&t);
struct tm* tp= localtime(&t);
printf("%x\n",tp);
char now_str[100];
strftime(now_str, 100, "%Y-%m-%d %H:%M:%S", tp);
FILE *fo;
fo = fopen(filename, "a");
if (fo == 0) {
return;
}
fprintf(fo, "%s %s(:%d):%s\r\n",now_str,sourceFile,fileLine, str);
fclose(fo);
}
int main(int argc, char **argv)
{
/*********************define******************/
DEBUG_LOG("test");
printf("Hello World!\n");
return 0;
}
#include <time.h>
#include <stdio.h>
#include <string.h>
#ifndef HYP_COMMON_INLINE_H
#define HYP_COMMON_INLINE_H
#define DEBUG_LOG( str ) printf( "%s(:%d):%s",__FILE__,__LINE__, str );
struct SpeedMardData
{
time_t startT;
};
static void fatal(char* message);
static void* xmalloc(size_t size);
static void SpeedMard_Start(struct SpeedMardData* data);
static void SpeedMard_stopAndPrint(struct SpeedMardData data,int testCount);
inline void fatal(char* message){
printf("fatal:%s \n",message);
exit(0);
}
inline void* xmalloc(size_t size) {
register void *value = malloc(size);
if (value == 0)
fatal("virtual memory exhausted");
return value;
}
inline void SpeedMard_Start(struct SpeedMardData* data)
{
data->startT = time(NULL);
}
inline void SpeedMard_stopAndPrint(struct SpeedMardData data,int testCount)
{
time_t now = time(NULL);
printf("now:%d \n",(int)now);
printf("data.startT:%d \n",(int)data.startT);
double dTime = difftime (now, data.startT);
printf("dTime:%f speed %f times/sec \n", dTime,(double)testCount / dTime);
}
inline void debug_append(const char* filename,const char* str)
{
FILE *fp;
fp=fopen(filename,"a");
fwrite(str,sizeof(char),strlen(str),fp);
fwrite("\n",sizeof(char),1,fp);
fclose(fp);
}
分享到:
相关推荐
【C++飞鸽程序源代码】是一份专用于学习和研究C++编程语言的实践案例,它涵盖了网络通信、多线程以及消息传递等核心概念。飞鸽程序,通常指的是一个即时通讯应用,通过该程序,用户可以在同一网络环境下进行快速的...
《MQX嵌入式系统用户指南》是一份深入解析微处理器开发C/C++编程的宝贵资源,它旨在帮助开发者高效地构建和管理嵌入式项目。MQX操作系统,全称Microprocessor eXecutive,是由菲尼克斯软件公司(Phoenix Software ...
这个压缩包中包含的“金山卫士源代码”是该软件的核心组件以C++编程语言实现的原始代码,对于深入理解软件工作原理以及C++编程实践来说,是一份非常有价值的参考资料。 首先,我们要了解C++语言。C++是一种静态类型...
C++ GreenBrowser 浏览器源码是一份珍贵的学习资源,它是由资深的VC++开发者精心编写的。这份源码不仅展现了C++的强大功能,还展示了浏览器的底层工作原理,对于想要深入理解网络浏览器开发的程序员来说,无疑是一份...
在本项目中,我们主要关注的是“紫外线强度测试仪源代码”,这是一份用C语言编写的程序,用于实验操作紫外线强度测试仪。C语言是一种基础且强大的编程语言,广泛应用于系统开发、嵌入式系统以及各种科学计算中。源...
《Visual C++开发技术大全11章到25章自已手敲运行的代码》这一资源集合了Visual C++编程的精华,...这些章节覆盖了从基础到高级的多个层次,对于想要系统学习Visual C++开发的程序员来说,是一份非常宝贵的参考资料。
标题中的“stc12MCU-PN532-code.rar”表明这是一份与STC12系列单片机和PN532芯片相关的代码压缩包,主要用于NFC(近场通信)功能的开发。STC12系列是宏晶科技生产的一种8位单片机,以其低功耗、高性能和易用性而被...
总之,"JNI测试用例代码及报告"是一个很好的学习资源,它涵盖了JNI的基础知识、实战应用和问题解决,对于想深入了解和使用JNI的人来说,是一份宝贵的资料。通过分析和实践这些测试用例,开发者可以更好地掌握JNI的...
Java Native Interface(JNI)是Java平台的标准组成部分,它允许Java代码和其他语言写的代码进行交互。JNI在各种场景中都有应用,...这个DEMO对于初学者来说是一份宝贵的教育资源,有助于深入理解和掌握JNI的使用技巧。
C/C++编程语言是进行嵌入式开发的常用工具,特别是在底层硬件交互时。"write_gpio.zip"这个压缩包很显然是为嵌入式Linux初学者准备的一份资源,它包含了一些驱动开发的文档和实例,有助于理解GPIO驱动的编写。 在...
《Visual C++编程宝典光盘源代码1》是一份宝贵的学习资源,它包含了大量关于使用Microsoft Visual C++进行程序开发的实际示例和项目代码。这份资料是学习和提升C++编程技能的理想伙伴,尤其适合那些希望深入理解MFC...
通过研究这些核心源码,开发者不仅可以了解Facebook如何利用C语言优化大规模的Web应用,还可以学习到高级的系统编程技巧和最佳实践,这对于任何希望提升自身C语言编程能力或理解大规模系统构建的人都是一份宝贵的...
《亮剑Visual C++项目开发案例导航》源文件是一份集合了C++编程语言在实际项目中的应用案例,旨在帮助开发者通过具体的实例学习和掌握Visual C++的使用技巧。这份资源可能包含了多个项目的源代码,涵盖了不同的编程...
C++则在C的基础上增加了面向对象特性,使得代码组织更加模块化,便于复用和维护,但可能在某些环境下不如C语言高效。 在提供的源码中,我们可以期待找到以下部分: 1. 驱动初始化和卸载:这部分代码负责在驱动加载...
《热血江湖服务端C++源代码》是一款专...总之,《热血江湖服务端C++源代码》是一份宝贵的教育资源,对于想要提升游戏服务器开发能力的程序员来说,它不仅提供了实战经验,更是深入学习C++和游戏服务器设计的绝佳实例。
【标题】:“C++课程设计-个人收支管理系统 (1).rar”揭示了这是一份基于C++编程语言的课程设计项目,目标是构建一个能够帮助用户管理个人财务的应用程序。这个系统应该具备记录收入与支出、分类统计、预算设置、...
这份高质量C++与C指南旨在为开发者提供一套有效的编程规范和最佳实践,帮助他们写出更健壮、更易读、更易于维护的代码。这份文档由林锐起草,经过朱洪海的审查和修正,确保了内容的准确性和实用性。 **第1章 文件...
这个项目不仅提供了完整的源代码,还附带了一份使用LaTeX编写的实验报告,确保了项目的可读性和可学习性。以下是对这个项目及其相关知识点的详细说明: 首先,C++是面向对象的编程语言,它在系统编程、游戏开发、...