分类目录归档:个人日志

Visual Studio 2015 - Windows XP (v140_xp) 编译工具 ucrtbased.dll缺失

先写结论,最好不要使用VS2015-WinXP编译工具来编译VC++程序,因为你最终会发现,编译出来的程序如果是动态链接到运行库的话,即便你已经拷贝了所有需要的运行库dll,当在xp系统上运行时,还是会提示缺少ucrtbased.dll(Debug版)或者ucrtbase.dll(Release版)。

解决办法有两个:

1.静态链接到运行时库  (MT 或者 MTd)    如果使用了MFC,还要静态链接到MFC

2.安装VS2013  直接用VS2013-WinXP来编译,编译出的程序只要附带上运行库dll即可直接在XP上运行

下面记录一下自己使用Visual Studio 2015 - Windows XP (v140_xp) 碰到的坑:

开始时,使用的VS2015 SP1,platform toolset选择的Visual Studio 2015 - Windows XP (v140_xp) ,编译出来debug版的程序,是动态连接到MFC和CRT的,我把所有需要的vc runtime dlls都拷贝到了xp虚拟机里面,但是发现程序无法运行,弹出无法找到ucrtbased.dll,于是google开始找解决办法,微软的官方说法是 VS2015修改了CRT runtime,增加了ucrtbase.dll这么个组件,这个组件必须得操作系统安装一个补丁才能有,直接把文件拷贝过去是不行的。但是XP没有这个补丁,最低是WIN7。

然后从VS2015SP2开始,微软修复了这个问题,XP也可以安装ucrtbase.dll这个组件了,方法就是必须安装VS2015的vcredist_x86.exe,这个文件的路径在D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist\1033下面,于是我开始更新我的VS2015,下载了SP3的更新包(下载链接),更新完毕花了将近4个小时。

然后我用VS2015SP3重新编译了release版的程序,并且在我xp的虚拟机里面安装了SP3版本的vcredist_x86.exe,程序可以运行了。

但是还是有如下问题:

1.编译出来的debug版的程序仍然无法在xp上运行,因为缺少ucrtbased.dll,我也没有找到debug版的vcredist_x86.exe

2.我的程序没有安装包,我不想用户在使用的时候还必须得安装一个vcredist_x86.exe,那跟使用C#程序之前必须安装一个.net framework有什么区别?

最后我决定使用VS2013-Windows XP 来编译我的程序,因为我电脑上之前装有VS2013,后来装的VS2015,所以工程-属性里面可以直接选择VS2013的platform toolset。这样的话就可以使用VS2015的IDE来写代码,使用VS2013的编译器来编译生成程序。

而且我可以确定的说,VS2013-Windows XP编译出来的无论是debug版还是release版,32位或者64位,只需将对应的VC Runtime dll拷贝到程序目录下,就可以直接在XP上运行,方便调试和使用。

至于说如何为VS2015安装VS2013的平台工具集(platform toolset),老老实实再装一个VS2013吧,装完之后,VS2015里面会自动识别出来的。简单的办法我用google也没有找到,如果谁找到了,评论里面留言下,多谢~。毕竟再装一个VS2013是要花很多时间和精力的~~

 

转载:http://blog.csdn.net/atceedsun/article/details/53583824

Windows 与 Office KMS注册码

Windows

::Windows 10
Windows 10 Home=TX9XD-98N7V-6WMQ6-BX7FG-H8Q99
Windows 10 Home N=3KHY7-WNT83-DGQKR-F7HPR-844BM
Windows 10 Home Single Language=7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH
Windows 10 Home Country Specific=PVMJN-6DFY6-9CCP6-7BKTT-D3WVR
Windows 10 Professional=W269N-WFGWX-YVC9B-4J6C9-T83GX
Windows 10 Professional N=MH37W-N47XK-V7XM9-C7227-GCQG9
Windows 10 Enterprise=NPPR9-FWDCX-D2C8J-H872K-2YT43
Windows 10 Enterprise N=DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4
Windows 10 Education=NW6C2-QMPVW-D7KKK-3GKT6-VCFB2
Windows 10 Education N=2WH4N-8QGBV-H22JP-CT43Q-MDWWJ
Windows 10 Enterprise 2015 LTSB=WNMTR-4C88C-JK8YV-HQ7T2-76DF9
Windows 10 Enterprise 2015 LTSB N=2F77B-TNFGY-69QQF-B8YKP-D69TJ

::Windows Server 2012 R2 and Windows 8.1
Windows 8.1 Professional=GCRJD-8NW9H-F2CDX-CCM8D-9D6T9
Windows 8.1 Professional N=HMCNV-VVBFX-7HMBH-CTY9B-B4FXY
Windows 8.1 Enterprise=MHF9N-XY6XB-WVXMC-BTDCT-MKKG7
Windows 8.1 Enterprise N=TT4HM-HN7YT-62K67-RGRQJ-JFFXW
Windows Server 2012 R2 Server Standard=D2N9P-3P6X9-2R39C-7RTCD-MDVJX
Windows Server 2012 R2 Datacenter=W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9
Windows Server 2012 R2 Essentials=KNC87-3J2TX-XB4WP-VCPJV-M4FWM

::Windows Server 2012 and Windows 8
Windows 8 Professional=NG4HW-VH26C-733KW-K6F98-J8CK4
Windows 8 Professional N=XCVCF-2NXM9-723PB-MHCB7-2RYQQ
Windows 8 Enterprise=32JNW-9KQ84-P47T8-D8GGY-CWCK7
Windows 8 Enterprise N=JMNMF-RHW7P-DMY6X-RF3DR-X2BQT
Windows Server 2012=BN3D2-R7TKB-3YPBD-8DRP2-27GG4
Windows Server 2012 N=8N2M2-HWPGY-7PGT9-HGDD8-GVGGY
Windows Server 2012 Single Language=2WN2H-YGCQR-KFX6K-CD6TF-84YXQ
Windows Server 2012 Country Specific=4K36P-JN4VD-GDC6V-KDT89-DYFKP
Windows Server 2012 Server Standard=XC9B7-NBPP2-83J2H-RHMBY-92BT4
Windows Server 2012 MultiPoint Standard=HM7DN-YVMH3-46JC3-XYTG7-CYQJJ
Windows Server 2012 MultiPoint Premium=XNH6W-2V9GX-RGJ4K-Y8X6F-QGJ2G
Windows Server 2012 Datacenter=48HP8-DN98B-MYWDG-T2DCC-8W83P

::Windows 7 and Windows Server 2008 R2
Windows 7 Professional=FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4
Windows 7 Professional N=MRPKT-YTG23-K7D7T-X2JMM-QY7MG
Windows 7 Professional E=W82YF-2Q76Y-63HXB-FGJG9-GF7QX
Windows 7 Enterprise=33PXH-7Y6KF-2VJC9-XBBR8-HVTHH
Windows 7 Enterprise N=YDRBP-3D83W-TY26F-D46B2-XCKRJ
Windows 7 Enterprise E=C29WB-22CC8-VJ326-GHFJW-H9DH4
Windows Server 2008 R2 Web=6TPJF-RBVHG-WBW2R-86QPH-6RTM4
Windows Server 2008 R2 HPC edition=TT8MH-CG224-D3D7Q-498W2-9QCTX
Windows Server 2008 R2 Standard=YC6KT-GKW9T-YTKYR-T4X34-R7VHC
Windows Server 2008 R2 Enterprise=489J6-VHDMP-X63PK-3K798-CPX3Y
Windows Server 2008 R2 Datacenter=74YFP-3QFB3-KQT8W-PMXWJ-7M648
Windows Server 2008 R2 for Itanium-based Systems=GT63C-RJFQ3-4GMB6-BRFB9-CB83V

::Windows Vista and Windows Server 2008
Windows Vista Business=YFKBB-PQJJV-G996G-VWGXY-2V3X8
Windows Vista Business N=HMBQG-8H2RH-C77VX-27R82-VMQBT
Windows Vista Enterprise=VKK3X-68KWM-X2YGT-QR4M6-4BWMV
Windows Vista Enterprise N=VTC42-BM838-43QHV-84HX6-XJXKV
Windows Web Server 2008=WYR28-R7TFJ-3X2YQ-YCY4H-M249D
Windows Server 2008 Standard=TM24T-X9RMF-VWXK6-X8JC9-BFGM2
Windows Server 2008 Standard without Hyper-V=W7VD6-7JFBR-RX26B-YKQ3Y-6FFFJ
Windows Server 2008 Enterprise=YQGMW-MPWTJ-34KDK-48M3W-X4Q6V
Windows Server 2008 Enterprise without Hyper-V=39BXF-X8Q23-P2WWT-38T2F-G3FPG
Windows Server 2008 HPC=RCTX3-KWVHP-BR6TB-RB6DM-6X7HP
Windows Server 2008 Datacenter=7M67G-PC374-GR742-YH8V4-TCBY3
Windows Server 2008 Datacenter without Hyper-V=22XQ2-VRXRG-P8D42-K34TD-G3QQC
Windows Server 2008 for Itanium-Based Systems=4DWFP-JF3DJ-B7DTH-78FJB-PDRHK

*****************************************************************

Office
::Office2016
Office Professional Plus 2016=XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99
Office Standard 2016=JNRGM-WHDWX-FJJG3-K47QV-DRTFM
Project Professional 2016=YG9NW-3K39V-2T3HJ-93F3Q-G83KT
Project Standard 2016=GNFHQ-F6YQM-KQDGJ-327XX-KQBVC
Visio Professional 2016=PD3PC-RHNGV-FXJ29-8JK7D-RJRJK
Visio Standard 2016=7WHWN-4T7MP-G96JF-G33KR-W8GF4
Access 2016=GNH9Y-D2J4T-FJHGG-QRVH7-QPFDW
Excel 2016=9C2PK-NWTVB-JMPW8-BFT28-7FTBF
OneNote 2016=DR92N-9HTF2-97XKM-XW2WJ-XW3J6
Outlook 2016=R69KK-NTPKF-7M3Q4-QYBHW-6MT9B
PowerPoint 2016=J7MQP-HNJ4Y-WJ7YM-PFYGF-BY6C6
Publisher 2016=F47MM-N3XJP-TQXJ9-BP99D-8K837
Skype for Business 2016=869NQ-FJ69K-466HW-QYCP2-DDBV6
Word 2016=WXY84-JN2Q9-RBCCQ-3Q3J3-3PFJ6

::Office2013
Office 2013 Professional Plus=YC7DK-G2NP3-2QQC3-J6H88-GVGXT
Office 2013 Standard=KBKQT-2NMXY-JJWGP-M62JB-92CD4
Project 2013 Professional=FN8TT-7WMH6-2D4X9-M337T-2342K
Project 2013 Standard=6NTH3-CW976-3G3Y2-JK3TX-8QHTT
Visio 2013 Professional=C2FG9-N6J68-H8BTJ-BW3QX-RM3B3
Visio 2013 Standard=J484Y-4NKBF-W2HMG-DBMJC-PGWR7
Access 2013=NG2JY-H4JBT-HQXYP-78QH9-4JM2D
Excel 2013=VGPNG-Y7HQW-9RHP7-TKPV3-BG7GB
InfoPath 2013=DKT8B-N7VXH-D963P-Q4PHY-F8894
Lync 2013=2MG3G-3BNTT-3MFW9-KDQW3-TCK7R
OneNote 2013=TGN6P-8MMBC-37P2F-XHXXK-P34VW
Outlook 2013=QPN8Q-BJBTJ-334K3-93TGY-2PMBT
PowerPoint 2013=4NT99-8RJFH-Q2VDH-KYG2C-4RD4F
Publisher 2013=PN2WF-29XG2-T9HJ7-JQPJR-FCXK4
Word 2013=6Q7VD-NX8JD-WJ2VH-88V73-4GBJ7

::Office2010
Office Professional Plus 2010=VYBBJ-TRJPB-QFQRF-QFT4D-H3GVB
Office Standard 2010=V7QKV-4XVVR-XYV4D-F7DFM-8R6BM
Project Professional 2010=YGX6F-PGV49-PGW3J-9BTGG-VHKC6
Project Standard 2010=4HP3K-88W3F-W2K3D-6677X-F9PGB
Visio Standard 2010=767HD-QGMWX-8QTDB-9G3R2-KHFGJ
Visio Professional 2010=7MCW8-VRQVK-G677T-PDJCM-Q8TCP
Visio Premium 2010=D9DWC-HPYVV-JGF4P-BTWQB-WX8BJ
Access 2010=V7Y44-9T38C-R2VJK-666HK-T7DDX
Excel 2010=H62QG-HXVKF-PP4HP-66KMR-CW9BM
SharePoint Workspace 2010=QYYW6-QP4CB-MBV6G-HYMCJ-4T3J4
InfoPath 2010=K96W8-67RPQ-62T9Y-J8FQJ-BT37T
OneNote 2010=Q4Y4M-RHWJM-PY37F-MTKWH-D3XHX
Outlook 2010=7YDC2-CWM8M-RRTJC-8MDVC-X3DWQ
PowerPoint 2010=RC8FX-88JRY-3PF7C-X8P67-P4VTT
Publisher 2010=BFK7F-9MYHM-V68C7-DRQ66-83YTP
Word 2010=HVHB3-C6FV7-KQX9W-YQG79-CRY7T

LNAMP和LNMP服务器环境中如何关闭日志

使用独立主机或者云主机或者VPS经常遇到的一个问题就是由于硬盘空间占满而导致的各种故障,而导致硬盘占满绝大多数时候是由于日志,本文详细总结了LNMP和LNAMP中所有服务的日志相关的配置。

Apache
错误日志
在httpd.conf添加
ErrorLog off
无此指令默认生成日志。

访问日志
删除或者注释CustomLog指令,无此指令默认不生成日志。

apache用#注释

Nginx
错误日志
http段添加
error_log off
仍会生成error.log,但是空的

访问日志
http段添加
access_log off
之后虚拟主机默认不生成日志,但仍可通过在server段添加access_log指令来启用部分网站的访问日志。

nginx用#注释

MySQL
慢查询日志
注释或者删除my.cnf中的log-slow-queries指令,无此指令默认不生成日志。

二进制bin-log日志
注释或者删除my.cnf中的log-bin指令,无此指令默认不生成日志。

错误日志
log-error=/dev/null,无此指令默认生成日志。
(所有的日志都可以指向到/dev/null来给变相禁止掉,但是这是一种很挫的方式,其他的日志指令都提供了禁止的参数,但是这条配置我找了半天没有找到,很可能是没有)

MySQL用;或#注释配置

php-fpm
如果php-fpm没有配置日志相关的指令,所有的日志默认都不生成。配置文件一般为php-fpm.conf。
慢执行日志
slowlog

访问日志
access.log

错误日志
error_log

php-fpm用;注释配置

日志在有些时候是很有用的,比如访问日志可以用来分析WEBSHELL和黑客入侵和蜘蛛抓取情况,错误日志可以用来分析服务启动失败的原因,慢查询和慢执行日志可以用来优化程序,ETC。
但是有些情况是不得不考虑的,一是受硬盘空间的限制,二是对于很多用户还没有能力来分析日志(开了日志也用不到)。
除非可以确定日志是能用得到的,并且硬盘空间允许,否则建议关闭日志,以避免各种意想不到的突如其来的麻烦。
很多日志都可以在需要查看的时候再开启,比如MySQL启动不了的时候可以把它的error_log打开。

PS,可以利用cron制定自动清除日志,具体形式有很多种,也很复杂,本文不做叙述。