小知识点日志(2013-6-24~2014-10-11)

本文由 @lonelyrains 出品,转载请注明出处。 
文章链接: http://blog.csdn.net/lonelyrains/article/details/40378913


2013-6-24 10:18:34
1、使用x命令查看内存,在查看内存经常挂的xcode调试中尤其重要 x/20x 0x12345678 查看0x12345678处的20个内存单元的内容
2、ANSI是针对原7位表示的ANSCII(0~127)编码的扩展
3、UPS:Uninterruptible Power Supply 不间断电源
4、附加到进程调试dll时,可以使用release版本的exe;也可以是vc6.0编译的exe,dll用2008编译


2013-7-10 11:34:37
1、使用ndk-stack查看溢出时的调用堆栈
   adb logcat | $NDK/ndk-stack -sym $PROJECT_PATH/obj/local/armeabi
或者
   adb logcat /tmp/foo.txt
   $NDK/ndk-stack -sym $PROJECT_PATH/obj/local/armeabi -dump foo.txt
(cygwin下可以调用windows下的exe,也可以调用linux的命令)
2、windows下使用InterlockedExchange函数和volatile定义的全局变量和一般的条件判断控制多线程的走向
3、beyond compare :设置打开选项卡时默认为ANSI格式 工具 -> 文件格式 -> 选中C,C++,... -> 转换 -> 外部程序(ANSI文件名) 且 编码(选“ANSI”)-> 保存 -> 关闭
4、安装vs2008x64位编译器:打开vs2008安装程序会出现加载组件的错误,采用另外的方式:打开控制面板->卸载程序页->选择vs team suit->更改程序->勾选“语言工具 下面的x64 compiler编译器,和安腾compiler编译器,安装即可。
5、64位程序调用64位csp dll,64位csp dll的调试可以用64位IE调用64位控件的方式测试
6、控件调试:IE8以上默认是多进程调用的,直接附加到进程调试,进入不了,需要HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main键下面添加DWORD值 TabProcGrowth,设值为0
7、VC调试,监视窗口的变量名栏输入$err,hr可以监视每次上一步的错误代码
8、字符串之前的L通知编译器该字符串应当编译为一个Unicode字符串。当编译器将此字符串放入程序的数据段时,会用UTF-16来编码每个字符


2013-8-5 11:35:01
1、国密算法不能做SSL登录 不信任的证书 签名无效 浏览器不识别   SM1/SM4是对称算法 SM2是非对称算法 SM3是Hash算法
2、Win8Appstore不支持很多桌面API,如Hid_feature
3、Android的xml布局可以通过Java实现,Android的UI底层实现也是这样做的
4、vc Ctrl+F2 加浏览标签


2013-8-9 10:46:34
1、清除调试文件时报正在被使用的错误,可能是需要关闭进程mspdbsrv.exe。关闭后如果重新调试,mspdbsrv.exe会重新启动,但是如果进入不了断点,就重启IDE
2、windows自带的笔记本程序可以识别utf-8和ansi格式的txt文档,但是不能正确提示该文档是ansi还是utf-8的。而直接拷贝utf-8文档里的汉字到新建文档里是以ansi形式存放的。所以如果出现因编码不同导致的问题,需要查看编码,借助notepad++或者ultraedit比较好。
3、tcp粘包指的就是发收步调不是一致的,可能上次未收的数据保存在缓冲里本次收数据的时候才取到,反正是流式解析就对了。名字玄乎,其实没啥


2013-8-29 14:30:11
ACTION_POINTER_DOWN cannot be resolved or is not a field : API版本太低了


2013-9-11 20:00:48
1、动画显示弹窗效果:AnimateWindow


2013-9-24 11:08:48
1、Cert DN CN : CN是DN的一部分,DN区域是“使用者”字段的所有信息
2、chrome浏览器调用npapi的调试:
chrome浏览器调用npapi的dll只需要支持32位dll。由于是多进程方式运行,需要附加到调用该dll的chrome.exe进程。要查看是哪个chrome.exe调用该dll,使用Process Explorer.exe查看。附加调试,是先启动chrome,调用该测试网页,然后使用Process Explorer.exe查看特定chrome.exe进程,然后用vs2008工程附加调试,设置断点,点击网页的某一按钮,应该就能进入断点了。
3、asn1view工具,查看der编码证书结构 asn1dump
4、资源文件的宏在其自己的宏定义页面定制
5、#define IF_ERROR_GOTO_END() do{if ( 0 != u4Result ) {char szErr[100];sprintf_s(szErr,sizeof(szErr),"FILE:%s,LINE:%d,urResult = %08x",__FILE__,__LINE__,u4Result);MessageBoxA(NULL,szErr,"ERROR",MB_OK);goto END;}}while(0)
6、VC获取系统路径一个非常强悍的API SHGetSpecialFolderPathA 。其中SH前缀表示SHELL


2013-10-29 11:17:19
1、android-cygwin编译,生成lib和so,对应的eclipse工程需要刷新,然后clean,重新生成的对应apk里的so才会刷新
2、/obj/local/armeabi/libgnustl_static.a: Permission denied 管理员启动cgwin的mitty.exe


2013-11-6 15:08:59
1、IDE控件编译并注册,要求msdev(vc6.0的IDE进程)或者devenv(vs2008的IDE进程)以管理员方式运行,否则注册失败。
2、windows-cmd命令行注册控件,要求管理员方式运行附件中的cmd,则能成功注册;而到system32目录下以管理员方式打开cmd注册控件则否


2013-11-21 14:49:34
1、隔离复杂度


2013-11-27 11:46:08
1、Your client does not have permission to get URL /2 from this server :升级goagent 或者proxy.ini里改 profile = google_hk


2013-11-29 15:36:34
1、静态库只能引用静态库,不能用动态库;dsw和sln都存在是通过先新建vc6工程,然后用vc9打开转sln
2、PGP “cannot establish connection with pgp sdk service” : 管理工具->服务:禁用 encrypted file system 、IKe and Auth IPSec Keyring Module两项服务,启用PGPserv服务,之后就可以正常打开PGP Desktop工具。
3、从网上下载下来的word文档有嵌入word对象时,如果打不开,需要右键属性“解除锁定”;下载的网页如果用到本地控件,也需要解除锁定


2013-12-17 15:56:08
1、dwKeySpec指定用容器中的哪个私钥 :The dwKeySpec field identifies the private key to use from the container


2014-2-13 9:50:20
1、xcode 5.0编译的Common库是可以用xcode 4.6编译的CommonTest工程调用的


2014-3-26 15:25:45
1、fsutil file Createnew C:\testfile3.txt XXXXX     [注:创建指定大小的文件,XXXX表示字节数]


2014-4-10 8:46:28
1、调试时查看Unicode字符串的设置:
1)打开vc6,选择菜单栏的“Tools”
2)选择“Tools”下面的“Options”
3)在打开的“Options”设置框当中,选择选项卡“Debug”
4)勾选右下角的“Display unicode strings”,就可以在debug模式下,直接通过watch窗口查看unicode字符串变量的内容


2014-5-9 15:13:01
1、不要用BOOL类型了 在这iOS 64位编译会报错的,跟C++自带的bool冲突;
2、指针地址不要强转为(u4)传参了,不然64位的CPU编译报错,运行肯定也是挂掉;


2014-5-21 15:37:30
1、windows的多语言解决方案最好的是unicode编译环境,tchar类型,配置文件为ucs2小端编码。
2、// 常规的MessageBox在此处受_objTrayIcon的影响不置顶,所以使用全局MessageBox,并且使用当前系统的前台窗口的窗口句柄作为父窗口
::MessageBox(::GetForegroundWindow(), szTip, szTitle, MB_TOPMOST|MB_ICONINFORMATION|MB_OK);


2014-5-27 18:01:12
1、在xcode里新建workspace添加多个project的方法:工作区新建group文件夹,将需要添加的project的.xcodeproj文件拖到这个group文件夹即可


2014-6-6 16:21:26
1、svn delete用法:svn delete -m "message" file:///var/svn/repos/test/yourfile --username xxx --password xxx


2014-6-20 11:38:58
1、detours:是微软开发的一个函数库,可用于捕获系统API。
2、http://code.google.com/p/ecstool-platform/  http://www.open-open.com/lib/view/open1376871583553.html 
3、http://www.cnblogs.com/jialiang/archive/2010/03/23/uacselfelevation.html


2014-7-7 15:26:22
1、中间人攻击:为什么是由浏览器保障安全性,而不是网站服务器验证安全性?
2、RSA的 签名=解密 验签=加密 吗?


2014-8-6 19:43:11
1、32位和64位数据类型不同只用牢记两个:long : 4/8   void* : 4/8


2014-8-15 17:26:01
1、guid vs2008 搜索匹配正则表达式::a^8-(:a^4-)^3:a^12
2、thunderbird将邮件导入Foxmail:下载ImportExportTools 将邮件全都导出成eml格式,然后从foxmail导入邮件,也是eml格式。导出时,不是按照文件夹选择,而是在右边的邮件列表ctrl+all,然后导出,可能是有bug


2014-9-22 19:52:53
1、系统找到定制的Csp库是通过advapi32.dll
2、IE单进程:HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main下添加 DWORD 变量 TabProcGrowth 的值0
3、tcpip图解:http://www.cricode.com/3568.html


2014-10-11 20:35:29
1、大块注释:
/*
... code ... 
//*/
使用这一方式,可以在不需要注释时,直接添加一个'/'改为
//*
... code ... 
//*/
使代码区重新有效。  缺点是不支持嵌套。 可以使用#if(0)来做

你可能感兴趣的:(读书-学习笔记)