2012-12 疑问

2012-12<上> 疑问

29日:
      在windows 2003 标准版上安装sql server 2008r2|时,提示找操作系统windows 目录下的installer 目录下不能找到某个文件及数字鉴名验证的警告,如果点确定继续安装最后会失败。
          原因是: 当计算机没有足够的连续内存可供 Windows Server 2003 或 Windows XP 用于验证是否对 .msi 包或 .msp 包正确进行了签名时将出现此问题。 
          首先,修改 HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers 更改 PolicyScope 中的“PolicyScope”,设置从 0 更改为 1。
         其次,运行gpedit.msc,在本地安全策略中单击软件限制条件策略,如果没有就新建策略,在对象类型中双击强制,选择“除本地管理员以外的的所有用户”,重启电脑。

30日:
      const 和define定义变量的区别:
            1:define定义的宏在预处理阶段会进行替换。
            2:define定义的宏名字由于被预处理时被替换了,所以不会进入调试符号表。
            3:不能对define的名称取地址。
            4:define 不受名称空间的约束,它的有效期是从定义处开始,直到预处理结束或遇到相应的undefine。
            5:deine的写法比较复杂,最好的最议是在宏的过程中,对其每个参数都加括号。
            6:由于define是替换,所以产生的代码可能会增大。
            7:如果没有对const变量取地址或引用,好的编译器会用常数代替变量,而不会分配空间,这样效率也等同于define了.

你可能感兴趣的:(2012-12 疑问)