__FILE__,__LINE__,FUNCTION__】的更多相关文章

__FILE__,__LINE__,FUNCTION__实现代码跟踪调试 ( linux 下c语言编程 ) 先看下简单的初始代码:注意其编译运行后的结果. root@xuanfei-desktop:~/cpropram/2# cat global.h //头文件 #ifndef CLOBAL_H #define GLOBAL_H #include int funca(void); int funcb(void); #endif root@xuanfei-desktop:~/cpropram/2#…
root@xuanfei-desktop:~/cpropram/2# cat global.h //头文件#ifndef CLOBAL_H        #define GLOBAL_H        #include <stdio.h>        int funca(void);        int funcb(void);#endifroot@xuanfei-desktop:~/cpropram/2# cat funca.c //函数a#include "global.h&…
转:http://www.cnitblog.com/zouzheng/archive/2007/08/31/32691.aspx 先看下简单的初始代码:注意其编译运行后的结果. root@xuanfei-desktop:~/cpropram/2# cat global.h //头文件#ifndef CLOBAL_H        #define GLOBAL_H        #include <stdio.h>        int funca(void);        int funcb…
本文演示了C语言中预定义符 __FILE__, __LINE__, __FUNCTION__, __DATE__, __TIME__ 的使用. 这几个预定义符的名称就没必要再介绍了,顾名思义嘛. // 演示 __FILE__, __LINE__, __FUNCTION__, __DATE__, __TIME__ 的使用 #include "stdio.h" void testFunc(void){ printf("File = %s\nLine = %d\nFunc=%s\n…
一边情况下,C/C++编译器会内置几个宏,这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息. ANSI C标准中有几个标准预定义宏(也是常用的): __LINE__:在源代码中插入当前源代码行号: __FILE__:在源文件中插入当前源文件名: __DATE__:在源文件中插入当前的编译日期 __TIME__:在源文件中插入当前编译时间: __STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1: __cplusplus:当编写C++…
我是不喜欢用类似VC下的F5,F10.曾经很喜欢用.被代码逻辑逼的没招了.所以不喜欢用了. 比如,错误是根据动态数据,产生的行为错误,无论是该写的未写,还是不该写的写了.指针跑飞什么等等,无非就是上述两个错导致.但要找到具体原因,F5,F10根本不够.所以索引不用了. 这里介绍一下我现在的方法.不过注明这不是LOG. 一个头文件.大体如下: #ifndef _debug_H_ #define _debug_H_ #include <stdlib.h> #include <stdio.h&…
很多人可能不知道,C\C++编译器提供了一套针对代码文件的宏定义,它们能够帮助开发者更好的定位代码的BUG. __FILE__ 该宏定义是一个字符串,存储着当前代码文件的完整路径 __LINE__ 该宏定义是一个int型变量,表示当前所在的代码行数 以下代码能够帮助理解: #include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc,char *argv[]) { printf(…
在C语言里,__FILE__和__LINE__给调试提供了很大的方便,今晚在写PYTHON的时候想到,PYTHON是否有类似的功能实现呢? GOOGLE一番发现两个方法,试验一下下面这句:print "here is :",__file__,sys._getframe().f_lineno 它和C中的两个宏的功能一样了!但根据找个网页http://nedbatchelder.com/blog/200410.html#e20041003T074926sys._getframe().f_l…
C/C++ 有5个常用的预定义宏,可以当作变量直接使用 __FILE__,__FUNCTION __,__LINE__,__DATE__,__TIME__. 注意是两个下划线. 其含义如下: __FILE__:                文件的路径和名称 __FUNCTION __:    函数名 __LINE__:               行数 __DATE__:              文件的编译日期 __TIME__:               文件的编译时间 用法: 添加在你…
#include <stdio.h> int main() { printf("this fake error is in %s on line %d\n", __FILE__, __LINE__); ; }…
转自:http://blog.csdn.net/edonlii/article/details/8491342/ 在linux编程中,当文件数量变的众多之后,使用gdb调试就是一场灾难.因此在程序中加入合理的打印信息,定位错误出现的文件名,函数名,行号等信息,能更高效的定位到问题的所在. 下面定义了宏,分别是WARNING,INFO,ERROR,SHOW_TIME,DEBUG等.利用了 __FILE__,_FUNCTION__, __LINE__等变量... _FILE__,__FUNCTION…
[转]宏的高级使用--##,__VA_ARGS__, __FILE__, __FUNCTION__等 http://blog.csdn.net/yiya1989/article/details/7849588 先说一下本文中会提到的内容:##,__VA_ARGS__, __FILE__, __LINE__ , __FUNCTION__等 宏变量: 先举一个例子,会用到上面这些宏: #define myprintf(...) printk("[lch]:File:%s, Line:%d, Func…
在C语言中,有这么四个预定义的宏: 当前文件: __FILE__ 当前行号: __LINE__ 当前日期: __DATE__ 当前时间: __TIME__ 这4个宏在代码编译的时候,由编译器替换成实际的值或字符串. 下面演示一段代码,编译一个代码: test.c #include <stdio.h> void main() { printf(" %s \n %d \n %s \n %s \n",__FILE__,__LINE__,__DATE__,__TIME__); }…
编译器内置宏: 先介绍几个编译器内置的宏定义,这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息. ANSI C标准中有几个标准预定义宏(也是常用的): __LINE__:在源代码中插入当前源代码行号: __FILE__:在源文件中插入当前源文件名: __DATE__:在源文件中插入当前的编译日期 __TIME__:在源文件中插入当前编译时间: __STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1: __cplusplus:当编写C…
编译usrsctp库时,爆出一个编译问题: snprintf(msg, sizeof(msg), "OOTB, %s:%d at %s", __FILE__, __LINE__, __func__); 这儿报告msg的空间不足以存放后续的内容, 此字符串在实际编译后,存放的内容大小是固定的,但由于__FILE__带了全路径,导致报告空间不够. 搜索一通后解决办法如下: 如果是使用CMAKE编译的,在CMakeLists.txt中添加这么一行(C++语言需要将CMAKE_C_FLAGS换…
http://blog.csdn.net/hgl868/article/details/7058906 替代字符串: #define DOWNLOAD_IMAGE_LOG /var/log/png.log #define WGET_IMAGE_(x) "wget -b -c -P ./media/video -a " x " -i  mp4url.txt" WGET_IMAGE_(DOWNLOAD_IMAGE_LOG)就是 wget -b -c -P ./media…
宏在代码中的使用实例: g_RunLog2("Middleware client for Linux, build:%s %s", __DATE__, __TIME__); 下面详细介绍宏: 在标准C以及各中编译器中定义了一些对象宏, 这些宏的名称以"__"开头和结尾, 并且都是大写字符. 这些预定义宏可以被#undef, 也可以被重定义. 在ANSI C标准中定义了__FILE__,__LINE__,__DATA__,__TIME__,__STDC__等标准的预定…
本文为了解所有关于 Nashorn JavaScript 引擎易于理解的代码例子. Nashorn JavaScript 引擎是Java SE 8的一部分,它与其它像Google V8 (它是Google Chrome 和Node.js的引擎)的独立引擎相互竞争. Nashorn 扩展了Java在JVM上运行动态JavaScript脚本的能力. 在接下来的大约15分钟里,您将学习如何在 JVM 上动态运行 JavaScript. 通过一些简短的代码示例演示最近 Nashorn 的语言特性. 学习…
C++大量的手动分配.回收内存是存在风险的,也许一个函数中一小块内存泄漏被重复放大之后,最后掏空内存. 这里介绍一种在debug模式下测试内存泄漏的方法. 首先在文件的开头以确定的顺序写下这段代码: #define _CRTDBG_MAP_ALLOC #include <crtdbg.h> #include <stdlib.h> 第1行定义了宏,实现一些内存分配函数向debug模式的映射. 打开<crtdbg.h>我们可以找到这么一段代码: 可以看到,定义了_DEBUG…
条件: 安装好禅道的服务器 能直接浏览PDF的浏览器(或通过 安装插件实现 ) 文档转换服务程序(建议部署在另一台服务器上)     实现 原理: 修改禅道的文件预览功能(OFFICE文档其使用的是下载打开方式)为向转换服务请求PDF 转换服务收到URL后,下载该文件并调用后台服务转换为PDF,向请求者返回PDF 禅道内置的预览PDF功能直接请求浏览器预览PDF     需要修改的文件及内容 xampp\zentao\module\file\control.php xampp\zentao\mo…
这是2016年的最后一篇博客,年初定的计划是写12篇博客,每月一篇,1/3转载,2/3原创,看来是实现不了了! -- 题外话.今天要写的东西是C语言中的预处理器,我们常说的宏定义的用法.为什么要写这个东西呢,原因很简单:之前对预处理了解不深.如果你对C语言只是了解或者是仅仅在大学中学习过C语言,说到预处理估计你只知道下面这条语句:(因为我就是这种情况,哈哈!) #define name value 我再学习预处理直接的驱动力是看了php的源码,开头一大推的宏定义器,之前'掌握'的一点#defin…
#ifndef __HSS_DBG_HSS__ #define __HSS_DBG_HSS__ /**************************************************************************************************\ * 2009-06-28 调试信息输出的宏版 (1) 一定起作用的宏 __trace, __trace_file, __trace_fmt, __trace_end (2) 需要定义 __dbg__才有…
错误调试, E($msg)? 这个是tp内置的E 方法, E 函数. 它是tp抛异常 的另外一种方式. 默认的异常处理方式是, 在 框架下的 ThinkPHP/Tpl/think_exception.tpl, 其中的提示消息是: $e['message'], 而 E($msg)的使用场合是: 抛自定义异常消息: 如果你不想显示系统默认的 $e['message'], 那么你可以用 E 方法,显示自定义的异常消息. 而实际上, E方法,还是走的异常 途径, 它是: E($msg, $code=0)…
让ecshop模板支持php运算在 cls_template.php 底部加入函数: /** * 处理if标签 * * @access public * @param string $tag_args * @param bool $elseif * * @return string */function _compile_math_tag($tag_args){ preg_match_all('/\-?\d+[\.\d]+|\'[^\'|\s]*\'|"[^"|\s]*"|[…
先简单介绍一下<assert.h>头文件,该头文件的目的便是提供一个宏assert的定义,即可以在程序必要的地方使用其进行断言处理:断言在程序中的作用是当在调试模式下时,若程序给出的前提条件没有满足或是没有达到预期预定的条件便会出现断言为假,此时程序会异常终止,调试时会挂在该断言失败处(即结果为false的断言位置)并打印或者显示断言失败的消息. assert函数实际上是一个宏,glibc和微软的c标准库实现均是如此:如glibc的: # define assert(expr) \ ((exp…
NSStringFromSelector(_cmd); // Objective-C print(__FUNCTION__) // Swift 2 print(#function) // Swift 3 __FILE__, __LINE__, __COLUMN__ and __FUNCTION__ => #file, #line, #column and #function…
很早前就仓促的接触过activemq,但当时太赶时间.后面发现activemq 需要了解的东西实在是太多了. 关于activemq 一直想起一遍文章.但也一直缺少自己的见解.或许是网上这些文章太多了.也可能是自己知识还不足够. 0,activemq-cpp 能解决什么问题. 实际应用就是让开发者能从多线程,多消息通信中解救出来.更多的关注应用逻辑. CMS (stands for C++ Messaging Service) is a JMS-like API for C++ for inter…
crowbar中第一次申请内存是在生成解析器的时候: /* interface.c */CRB_Interpreter *CRB_create_interpreter(void) { MEM_Storage storage; CRB_Interpreter *interpreter; storage = MEM_open_storage(); interpreter = MEM_storage_malloc(storage, sizeof(struct CRB_Interpreter_tag))…
一.为什么选择Ruby []完全开源. []多平台:Ruby可以运行在Linux, UNIX, Windows, MS-DOS, BeOS, OS/.. []多线程:线程就是指在一个程序中处理若干控制流的功能.与OS提供的进程不同的是,线程可以共享内存空间. []完全面向对象. []不需要内存管理:具有垃圾回收(Garbage Collect, GC)功能,能自动回收不再使用的对象. []解释执行:其程序无需编译即可轻松执行. []功能强大的字符串操作/正则表达式. []具有异常处理功能. []…
作用:对于__FILE__,__LINE__,__func__这样的宏,在调试程序时是很有用的,因为你可以很容易的知道程序运行到了哪个文件的那一行,是哪个函数. 下面一个例子是打印上面这些预定义的宏的. __DATE__,__FILE__,__LINE__,__TIME__,__FUNCTION__ C标准中指定了一些预定义的宏,对于编程经常会用到.下面这个表中就是一些常常用到的预定义宏. __DATE_ %s_进行预处理的日期(“Mmm dd yyyy”形式的字符串文字) __FILE__  …