经验案例
文章平均质量分 67
booksyhay
这个作者很懒,什么都没留下…
展开
-
更改注册表实现SVN与加密系统图标覆盖共存
安装TortoiseSvn后,图标覆盖(ShellIconOverlay)功能是正常的。但是在安装加密系统后,加密系统的图标把svn的图标又覆盖了,导致只能看到加密系统的图标,无法显示svn版本管理的状态其实,windows是可以支持多重图标覆盖。在注册表中的配置位置:这里可以配置多个图标覆盖的策略。优先级顺序为:从上到下。第一个策略的优先级最高。如果想提高某个配置的优先级,可以在该配置项的前面加一堆空格。再按F5刷新一下,就可以看到顺序。重启电脑后可生效。...原创 2022-06-18 14:33:15 · 761 阅读 · 0 评论 -
CCS安装编译器的方法
TI公司的编译器叫CGT:code generation tools先下载所需版本的CGT到TI官网找CGT在www.ti.com.cn上搜索CGT,即可找到C2000-CGT:C2000代码生成工具-编译器也可以直接到这里找:C2000-CGT IDE、配置、编译器或调试器 | TI.com.cn查看 TI C2000-CGT IDE、配置、编译器或调试器 的下载量、描述、特性和支持文档并开始设计。https://www.ti.com.cn/tool/cn/C2000-CG原创 2022-05-27 09:48:58 · 8003 阅读 · 4 评论 -
VisualSVN-Server安装时报错 “Service ‘VisualSVN Server‘ failed to start. Please check VisualSVN Server log
问题现象安装环境:Windows Server 2016 Standard安装程序:VisualSVN Server V4.0.4安装过程中出错:提示信息为:Service 'VisualSVN Server' failed to start. Please check VisualSVN Server log in Event Viewer for more details.分析过程打开“事件查看器”,找到VisualSVN Server应用程序,查看服务日志,却什原创 2022-05-20 11:49:16 · 1168 阅读 · 0 评论 -
Windows计算器:%号的作用
Windows计算器的“%”按钮的工作方式就和那些很廉价的口袋四则计算器相同(虽然现在它们一般有六种功能了)。首先你必须理解的是,%按钮不是设计来服务数学家和工程师的。它其实是被用来做些日常的简单计算。因此它的行为对你来说看起来像是个bug一样飘忽不定神乎其神。但其实对于普通人来说,这样的设计完美符合日用场景——至少理论上是这样。站在普通人的角度上来看,假设你想要计算一件72块的毛衣在加上5%税后是多少钱。于是你抽出口袋里的计算器(或者直接打开Windows计算器)并输入72 + 5% =...原创 2021-10-13 14:00:21 · 1680 阅读 · 0 评论 -
C语言中引用其他模块定义的变量的方法
假定A模块有一个变量int g_nVarA需要给别的模块引用,其方法为:1)在A.c源文件中定义变量:int g_nVarA;2)在A.h头文件中申明该变量:extern int g_nVarA;3)所有需要用到该变量的模块包含A的头文件:#include "A.h"这样,既可以引用g_nVarA变量,又可以避免重复定义。原创 2015-05-29 13:31:39 · 4063 阅读 · 0 评论 -
VS2008编译C代码时会检查变量定义的位置,可以改为编译为C++代码
问题现象:在VS2008中编译C代码(*.c文件),该代码中有些变量不是在函数的最开始定义的,而是像C++那样随用随定义。编译时会报错。代码为:。。。代码ULONG ulResult = 。。。。。。代码错误提示为:error C2275: “ULONG”: 将此类型用作表达式非法error C2146: 语法错误 : 缺少“;”原创 2015-05-13 16:47:35 · 1166 阅读 · 0 评论 -
__disable_irq是在哪里定义的
在原代码中见到__disable_irq(),看起来像是原创 2014-11-25 10:21:48 · 16800 阅读 · 2 评论 -
visual studio 2008(VS2008)中不能运行自定义宏的解决办法
之前在WinXp上装了VS2008的英原创 2014-10-31 09:08:17 · 2265 阅读 · 1 评论 -
注释:不是直接忽略
下面这个代码段能编译通过吗?void foo(void){ int/*abc*/i; //in/*XYZ*/t j; char *p = "abcde //alkjd"; // 这一行是注释 \ 这是什么}答案是:可以。(VS2008测试)分析:第1行:编译器将注释部分当作空格,它相当于: int i;所以第2行是错误的,它相当于:原创 2013-08-30 16:00:49 · 696 阅读 · 1 评论 -
数组的地址是什么?是指向该数组类型的指针。
先看一段代码:int main(){ int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); printf("%d,%d",*(a+1),*(ptr-1));}分析:这里,a是一个数组,包括5个int类型的数据。a本身就代表这个数组的首地址,它等效于&a[0]。那么,&a是什么呢?首先,这是取数组a的地址。既然是取地原创 2013-08-30 15:43:39 · 2718 阅读 · 0 评论 -
使用SetWindowsHookEx(WH_KEYBOARD,...)制作全局键盘钩子
学习《Windows程序设计》时,照着例子作了一个全局的键盘钩子,可以截获到用户的按键。先是动态库部分:///////////////////////////////////////////// KeyHookLib.h文件// 定义函数修饰宏,方便引用本DLL工程的导出函数#ifdef KEYHOOKLIB_EXPORTS#define KEYHOOKLIB_API _原创 2013-08-21 14:45:03 · 8347 阅读 · 1 评论 -
MFC为什么要安装_AfxCbtFilterHook钩子函数?
在学习Windows程序设计时,模拟MFC的代码写出消息映射。AFX框架中,CWnd类在创建窗口时,在AfxHookWindowCreate里面安装了一个WH_CBT类型的钩子函数_AfxCbtFilterHook。BOOL CWnd::CreateEx(DWORD dwExStyle, LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWO原创 2013-08-05 16:05:45 · 1629 阅读 · 0 评论 -
status和state
曾经,有位专家和另外一位专家,就status和state的问题争论了很久,在表示“某某状态”的时候,到底应该用哪个词?以下是搜集到baidu的结果。======================================================status 与 state 的区别 status 指人时暗指相对的地位,指物时相当于 situatio原创 2013-08-02 10:45:23 · 1500 阅读 · 0 评论 -
DSP28016每个内存地址对应的都是16位(2字节),没有8位的整数
把ARM Cortex M3上的一段代码移植到DSP TMS320F28016上时,发现这个定点DSP中没有UINT8的类型,只有16位和32位的整数。定义一个char实际上也是占用一个字(16位)。并且每一个内存地址对应的也是一个字(2个字节)。typedef union unCanFrameData{ BYTE abyData[8]; WORD awdData[4]; UI原创 2013-07-19 09:46:42 · 3436 阅读 · 0 评论 -
查看CAN分析仪所抓取的数据包的发送周期
用CAN分析仪从总线上抓到一堆数据,如何分析? 比如:序号 传输方向 第几路CAN 时间标识 帧ID 帧格式 帧类型 数据长度 数据0x00000000 接收 1 0x003d0b68 00000201 数据帧 标准帧 0x08 00 00 00 00 00 00 00 000x000000原创 2013-06-15 15:56:02 · 3452 阅读 · 3 评论 -
求最大值和最小值,看似简单,实属不易
曾经,写过如下代码片段,用于求最大值(最小值):for (i = 0; i < N; i++){ if (Data[i] > max) { max = Data[i]; } if (Data[i] < min) { min = Data[i]; }}一位专家(Frank)原创 2013-05-31 12:00:32 · 1679 阅读 · 0 评论 -
请注意LR78M05和LR78L05管脚定义的区别
今天发现一个很奇怪也很简单的问题,但是也花费了不少时间。【现象】 板子上的一个电压转换芯片7805输出不对。输入12V时输出有9V。仔细查看原理图,没有发现任何问题。测量PCB,也和原理图一致。 【原因】 原理图上画的是LR78M05,1脚为输入,3脚为输出,2脚和4脚为地。但实现上板子上焊的是LR78L05,其管脚定义为:3脚输入,1脚输出。 附原创 2013-05-29 15:25:18 · 7369 阅读 · 0 评论 -
终于解决用JFlash ARM直接下载的问题了
之前一直是用KEIL下载程序到LPC1765上,一边开发一边下载调试,还算方便。现在开发完成了,拿到一块新板,需要下载程序的时候,每次还得打开KEIL,觉得挺麻烦的。尝试过几次用JFlash下载,也没有成功。今天摸索了一中午,终于找到原因了。一直没有注意到这个地方:属性设置中选择CPU的型号后,还需要正确设置晶振的频率。其他地方可以使用默原创 2013-04-26 12:40:20 · 7386 阅读 · 0 评论