C++ 预处理器_w3cschool https://www.w3cschool.cn/cpp/cpp-preprocessor.html C++ 预处理器 预处理器是一些指令,指示编译器在实际编译之前所需完成的预处理. 所有的预处理器指令都是以井号(#)开头,只有空格字符可以出现在预处理指令之前.预处理指令不是 C++ 语句,所以它们不会以分号(;)结尾. 我们已经看到,之前所有的实例中都有 #include 指令.这个宏用于把头文件包含到源文件中. C++ 还支持很多预处理指令,比如 #in…
C++ 预处理器_w3cschool https://www.w3cschool.cn/cpp/cpp-preprocessor.html C++ 预处理器 预处理器是一些指令,指示编译器在实际编译之前所需完成的预处理. 所有的预处理器指令都是以井号(#)开头,只有空格字符可以出现在预处理指令之前.预处理指令不是 C++ 语句,所以它们不会以分号(;)结尾. 我们已经看到,之前所有的实例中都有 #include 指令.这个宏用于把头文件包含到源文件中. C++ 还支持很多预处理指令,比如 #in…
sublime text 2 调试python时结果空白 之前用的时候都一切正常,今天突然就出现了这个问题.按ctrl+b执行的时候结果只有空白,查了很多文章都只提到了中文路径.系统路径等等,没有解决问题,直到看到了这篇文章:http://384444165.iteye.com/blog/1798107 文章中提到,Sublime Text 2  ctrl+b 如果出现运行为空白,按ctrl+`来显示错误,如果错误是UnicodeDecodeError: ‘ascii’ codec can’t…
上一篇转载的没看懂,参考别人的代码,自己又琢磨了一个调试技巧,挺好用,姑且就叫调试开关吧,欢迎指正!!! /*功能:调试开关 *描述:if条件成立,则打印调试信息,否则不打印() * */ #include<stdio.h> #if 1 //为0时调试关闭, 为1时调试打开 #define DEBUG_OUT(fmt, args...)\ printf("file:%s func:%s line:%d\n", __FILE__, __func__, __LINE__) #e…
在使用Qt开发大型软件时,难免要调试程序,以确保程序内的运算结果符合我们的预期.在不符合预期结果时,就直接将程序断下,以便我们修改. 这就用到了Qt中的调试断言 - Q_ASSERT. 用一个小例子来说一下 Q_ASSERT 断言的作用吧: 用QtCreator新建一个控制台程序,代码编写如下:   #include <QtCore>       int main(int argc, char *argv[])   {   QCoreApplication app(argc, argv);  …
背景 随着现在移动端设备的硬件性能的提高,现在web页面的体验逐渐变得可以接受,现在很多的应用都采用的Hybrid开发模式,一方面有利用了原生设备的API的优势(性能好.用户体验好),另一方面利用了web开发的优势(跨平台,开发成本低).比如微信.QQ.58同城.美团.爱奇艺等等应用都是采用的Hybrid开发模式. Hybrid应用如何去做自动化呢? Hybrid是native嵌套了web,对于native页面,我们可以采用原生的自动化框架UIAutomator/XCUITest,而对于web页…
12.1 什么是可变参数宏 在上面的教程中,我们学会了变参函数的定义和使用,基本套路就是使用 va_list.va_start.va_end 等宏,去解析那些可变参数列表我们找到这些参数的存储地址后,就可以对这些参数进行处理了:要么自己动手,自己处理:要么继续调用其它函来处理. void print_num(int count, ...) { va_list args; va_start(args,count); ; i < count; i++) { printf("*args: %d\…
1.宏定义说明 宏定义是比较常用的预处理指令,即使用"标识符"来表示"替换列表"中的内容.标识符称为宏名,在预处理过程中,预处理器会把源程序中所有宏名,替换成宏定义中替换列表中的内容. 常见的宏定义有两种,不带参数的宏定义和带参数的宏定义. 2.无参宏定义 无参数宏定义的格式为: #define 标识符 替换列表 替换列表可以是数值常量.字符常量.字符串常量等,故可以把宏定义理解为使用标识符表示一常量,或称符号常量. 说明: 1) # 可以不在行首,但只允许它前面有…
题目:输入16位整数x,如0x1234,将其转为Big Endian格式再输出,此例为输出 0x3412 来源:某500强企业面试题目 思路:将x左移8位得到a,将x右移8位得到b,a+b即为所得 //---------------------------------------- // 写一个宏,将16位的整数转为Big Endian //---------------------------------------- #define ConvertToBigEndian(x) (((x)<<…
初学ace没多久,今天遇到了一个小问题. 具体是:我在写完代码之后,编译老是出现一个错误. 提示: ACE_TEST1.obj : error LNK2019: 无法解析的外部符号 "int __cdecl ace_main_i(int,char * * const)" (?ace_main_i@@YAHHQAPAD@Z) ,该符号在函数 "private: virtual int __thiscall ACE_Main::run_i(int,char * * const)&…
请定义一个宏,比较两个数的a.b的大小,不能使用大于.小于.if语句 方法一:    #define max(a,b) ((((long)((a)-(b)))&0x80000000)?(b):(a))  若a>b,则a-b的二进制最高位为0,与上任何数还是0,所以大数为a: 否则,a-b为负数,最高位为1,与上0x80000000(最高位为1其他为0)之后为1,所以此时最大数为b. 方法二:     #define max(a,b) ((((a)-(b))&(1<<31)…
利用Mat的step[0],step[1]访问像素的行列,自定义一个宏CV_MAT_ELEM2(src,dtype,y,x),src是待访问的Mat,dtype是src的数据类型(int,float,char等), 访问像素位置是y行.x列. 宏定义如下: #define CV_MAT_ELEM2(src,dtype,y,x)    (dtype*)(src.data+src.step[0]*(y)+src.step[1]*(x) ) 演示代码如下所示: #include <iostream>…
在Lisp语言中,macro是一个神器,可以“动态的生成代码”,然后被执行,这种方式给到Lisp无限的表达能力.除Lisp之外,很少有语言支持Macro这个特性,我记得 GWT之中曾经有一个类似的Generator的概念,可以在编译期间提供一定的代码生成能力(GWT Project),很多GWT的高级特性都是通过这个语言特性而得以实现的,譬如: UiBinder 可以实现申明式的 UI 开发. ImageBundle 简单的实现很多图片的聚合,从而减少round-trip,提高网页装载速度. S…
转自:sublime内调试Javascript代码 之前用webstorm, 可以直接调试js, 在浏览器中也可以调试js,最近换了sublime text, 在想它是否支持调试js代码,于是找到了这篇文章. 实现 ①安装nodejs 当然你可以使用其它诸如jsc之类的环境来运行js, 本文使用的是nodejs. 首先确保你的电脑已经安装好nodejs, 并已将其添加到环境变量中 (一般安装时自动添加或者询问是否添加) ②添加build system 在sublime text中依次打开Tool…
一.前言 近期本人有工作调动,进入了一个全新的领域[golang]服务端开发.在此写下本文,希望给那些没接触过golang开发调试环境及还在犹豫选择那家golang IDE而纠结的朋友们一点点帮助,如果你从中得到了受益并且同时拥有博客园账户的话,衷心希望能得到你的一个小小[推荐]以资鼓励. 本人操作系统为Windows 8.1 64bit,开发工具选择如下:go1.4.2.windows-amd64Sublime Text 2(插件GoSublime/GoGdb) gdb.gcc(安装mingw…
1. #include <stdio.h> #include <stdarg.h> //仅仅是打印函数名字替换 DEBUG <--> printf #define DEBUG(format, ...) printf(format, ##__VA_ARGS__) //替换打印函数,在打印出来的内容加上前缀 #define XFUNC_PRINT(format, arg...) printf("XFUNC: " format "",…
之前用的时候都一切正常,今天突然就出现了这个问题.按ctrl+b执行的时候结果只有空白,查了很多文章都只提到了中文路径.系统路径等等,没有解决问题,直到看到了这篇文章:http://384444165.iteye.com/blog/1798107 文章中提到,Sublime Text 2  ctrl+b 如果出现运行为空白,按ctrl+`来显示错误,如果错误是UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xc0 in position…
在调试程序时,经常会用到assert和printf之类的函数,我最近做的这个工程里就有几百个assert,在你自认为程序已经没有bug的时候,就要除去这些调试代码,应为系统在正常运行时这些用于调试的信息是无用的,而且会占用时间和空间.怎么删除呢,俺以前都是用笨方法,一个一个注释,能用注释也是经过改进的方法,俺最早都是删掉之后出了问题再重新写的,但是这次几百个一个一个删除的话可是要了俺的小命了,一首mp3听完,还不到一百个.以前看过st的函数库,老外的代码就是规范,俺现在的代码好多都是在st和ti…
在一般象gentoo等发行版中,系统安装tomcat这类软件后会产生一些启动脚本, 比如是/etc/init.d/tomcat-7, 启动方式与原始的tomcat不太一样.在gentoo中,假设须要远程调试tomcat的web应用,可能将下面一行改动一下: 在开头大概10多行, 将下面 : ${TOMCAT_START:=start} 改动成 : ${TOMCAT_START:=jpda start} 就可以.…
前置环境:已经安装好LNMP 1. 安装xdebug 可以通过pear包管理来安装 sudo apt-get install php-pear sudo pecl install xdebug 这里我们直接通过apt安装 apt-get install php5-xdebug 程序已经自动创建了默认的配置文件 配置: xdebug.ini位置:/etc/php5/mods-available/xdebug.ini 新增如下 zend_extension="/usr/lib/php5/201312…
开启 GPU Render 的profiling bar: adb shell setprop debug.hwui.profile visual_bars #或visual_lines adb shell setprop debug.hwui.profile.maxframes 400 #控制汇总条长度 打开 Overdraw 检查: adb shell setprop debug.hwui.overdraw show 查看dirty区域: adb shell setprop debug.hw…
{姓名},在{时间}进来了 “{姓名}”和“{时间}”会自动变成一个变量.…
1. 参考 Turning on debug output for python 3 urllib https://bugs.python.org/issue26892 Python爬虫入门四之Urllib库的高级用法  5.使用DebugLog 2. 代码 (1) python2 # python2 import httplib import urllib httplib.HTTPConnection.debuglevel = 1 response = urllib.urlopen('http…
常量,字段,构造方法   常量 1.什么是常量 ​ 常量是值从不变化的符号,在编译之前值就必须确定.编译后,常量值会保存到程序集元数据中.所以,常量必须是编译器识别的基元类型的常量,如:Boolean,Char,Byte,SByte,...,...,...,UInt64,Single,Double,Decimal,String.另外,C#是可以定义非基元类型的常量的,前提是值必须为null. public sealed class SomeType { public const SomeType…
1\在smdk6410.h中定义宏 //#define CONFIG_SKIP_LOWLEVEL_INIT 1 //#define CONFIG_SKIP_RELOCATE_UBOOT 12\将编译的uboot.bin下载到text_base的地址3\准备好调试环境之后 指令 gp+地址运行sdram中的uboot…
大家都知道C++虚函数的机制,对于基类定义为虚函数的地方,子类假设覆写,在基类指针或者引用来指向子类的时候会实现动态绑定. 但假设指针去调用非虚函数,这个时候会调用C++的静态绑定,去推断当前的指针是什么类型,就去运行哪个类型的函数. 非常有一种比較经典的使用方法,就是Template Method模式,基类定义一个非虚的算法框架,里面详细定义一些纯虚的函数片段,由子类来进行实现,从而实现了控制整体框架,但能够给客户自由定制的灵活性.这个使用方法事实上就是指针去调用了基类的方法,由方法的扩展之后…
大家都知道C++虚函数的机制,对于基类定义为虚函数的地方,子类如果覆写,在基类指针或者引用来指向子类的时候会实现动态绑定. 但如果指针去调用非虚函数,这个时候会调用C++的静态绑定,去判断当前的指针是什么类型,就去执行哪个类型的函数. 很有一种比较经典的用法,就是Template Method模式,基类定义一个非虚的算法框架,里面具体定义一些纯虚的函数片段,由子类来进行实现,从而实现了控制总体框架,但可以给客户自由定制的灵活性.这个用法其实就是指针去调用了基类的方法,由方法的扩展之后扩展到虚函数…
发现一个新的 vector graphic 的库,用 C 写的,效果丰富,接口简单,而且是 MIT License,所以想试一试.因为它支持 framebuffer,所以,在 linux 上先走一个. 项目主页:https://littlevgl.com/ 1. 文件准备 项目组织还不是很好,所以需要手动配置项目,需要的文件包括: - lvgl 主项目 - lv_driver 目前支持的驱动.基本上如果使用渲染缓存的话,只要考虑怎么把渲染缓存里的东西搬移到显示缓存中即可.即最简实现 disp_i…
最近有一个客户有这样的需求: 1.在[设置]--->[无障碍]中添加一个开关按钮. 如果打开开关的话,双击某个物理按键的时候,打开闪光灯,再双击该物理按键的时候,关闭闪光灯. 如果关闭开关的话,双击该物理按键的时候,不做任何处理. 2.打开关闭闪光灯的状态,在下拉菜单中也要同步. 如下图所示的效果: 当打开上面添加的开关后,如果双击POC键(POC键是我们公司自定义的一个物理按键)的时候,就打开闪光灯,并将下拉菜单中的闪光灯图标点亮,如下图所示 如果再次双击POC键(POC键是我们公司自定义的一…
首先这篇文章比较长,若想了解Xcode7的免开发者帐号真机调试运行IOS程序的话,直接转到第五部分. 转载请注明原文地址:http://www.cnblogs.com/litou/p/4843772.html 本文章的内容来自于百度.谷歌得到的别人努力成果的基础上,再加上自己的实践总结得出的,截图写字不容易啊.所有的软件安装和IOS程序运行都测试通过. 本文章内容包括 第一部分:软件准备 第二部分:安装VMWare Workstation.解锁VMWare和安装OS X 第三部分:在OS X上安…