彻底理解c的宏定义
简书链接:彻底理解c的宏定义文章字数:797,阅读全文大约需要3分钟为了更方便的理解宏定义,可以直接输入g++ c文件 -E 生成处理之后的源文件 1```##```前面和这个参数拼接,举例···_##s···代表__后面和s拼接在一起变成_s,如果没有##是无法做到的,因为他不知道你传递的是s参数。 -E Preprocess only; do not compile, assemble or link -S Compile only; do not assemble or link -c Compile and assemble, but do not link -o Place the output into 12举例 #define CALL(f,p) printf(“Call function %s\n”, _##p) CALL(abs,10); 1结果 printf(“Call...
内联
简书链接:内联文章字数:48,阅读全文大约需要1分钟内联修饰的方法实际上就是编译的时候把这个方法的内容直接粘贴过来,类似宏定义,定义和声明都应该写上内联.
什么是HTTPDNS跟随阿里的httpdnsdemo一步一步了解httpdns
简书链接:什么是HTTPDNS跟随阿里的httpdnsdemo一步一步了解httpdns文章字数:2044,阅读全文大约需要8分钟 阿里巴巴是这样说的HTTPDNS使用HTTP协议进行域名解析,代替现有基于UDP的DNS协议,域名解析请求直接发送到阿里云的HTTPDNS服务器,从而绕过运营商的Local DNS,能够避免Local DNS造成的域名劫持问题和调度不精准问题。 分析demohttps://github.com/aliyun/alicloud-android-demo.git 普通场景 就是普通的http请求sni场景 就是 server name Indication 场景选择里面的httpdns_android_demo打开MainActivity。 1234567private static final String APPLE_URL = "www.apple.com";private static final String TAOBAO_URL = "m.taobao.com";private static...
javalangIncompatibleClassChangeError
简书链接:javalangIncompatibleClassChangeError文章字数:49,阅读全文大约需要1分钟引发原因,操作了对象不存在的方法,
【原创】android批量替换网上项目的buildToolVersion等
简书链接:【原创】android批量替换网上项目的buildToolVersion等文章字数:63,阅读全文大约需要1分钟 全局搜索,勾选正则表达式 12buildToolsVersion (?:\"|\')[0-9.]+(?:\"|\')替换为 buildToolsVersion “27.0.3” 另外网上流行的ext{}大法其实并不是比较好用的方法,如果我需要取出某一个模块给其他用,又需要修改,
原创轻松玩转vscodelaunchjsontasksjsonlinux启动c程序编译c程序
简书链接:原创轻松玩转vscodelaunchjsontasksjsonlinux启动c程序编译c程序文章字数:318,阅读全文大约需要1分钟编译c++网上的确有现成的插件,但是一点都不好用,比如需要传递个参数就蛋疼了。技巧1: 自定义快捷键编译技巧2:自定义编译命令launch.json 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364{ "version": "0.2.0", "configurations": [ { "name": "C++ Launch", "cwd": "${workspaceFolder}", ...
visualstudio给文件夹版权注释
简书链接:visualstudio给文件夹版权注释文章字数:72,阅读全文大约需要1分钟文件路径Microsoft Visual Studio\2017\Community\Common7\IDE\ItemTemplates\CSharp\Code\2052 123456789101112131415#region << 版 本 注 释 >>/******************************************************************************Created by luozheng on $year$ *CLR版本: $clrversion$*机器名称:$machinename$*公司名称 深圳xxx科技有限公司*文件名:...
正则匹配高级笔记
简书链接:正则匹配高级笔记文章字数:1239,阅读全文大约需要4分钟 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145限定大小写必须包含...
情迁qq机器人图文api调用
简书链接:情迁qq机器人图文api调用文章字数:295,阅读全文大约需要1分钟首先 需要情迁QQ机器人2.0,老版本调用此方法无效果 q++需要的版本是1.2.0这个例子表示每次初始化调用onCreate就会发送一个图片到情迁QQ机器人开发者群机器人qq不能随便填写,否则无法收到消息。 12345678910111213141516171819202122232425262728293031323334353637383940log.w("本方法需要点击[模拟]方可调试+.否则只能检查常规语法错误"); log.i("Hello World");//请运行查看效果.... log.w("wran"); //收到消息后进行回调 AUTO INSERT function onReceiveMsgIsNeedIntercept(msgitem, aiteList, hasAite, hasAiteMe){ log.w("收到消息"); return...
情迁QQ机器人js插件发送艾特消息
简书链接:情迁QQ机器人js插件发送艾特消息文章字数:452,阅读全文大约需要1分钟首先要说明的是机器人版本1.9.9以及以前的版本调用sendAtMsg(msgitem,group,qq)发送艾特消息都无法正常的艾特,所以我找到了另外一种方法让低版本也可以发送艾特消息. 12345678910111213141516171819202122function onReceiveMsgIsNeedIntercept(msgitem, aiteList, hasAite, hasAiteMe) { var text = msgitem.getMessage()//获取收到的消息 var qq = msgitem.getSenderuin()//获取发送者QQ var group=msgitem.getFrienduin();//获取群号,如果是私聊,则依然返回的是qq ...