c++ 全局变量初始化及惯用方法之 Nifty Counter
c++ 全局变量初始化
转载来源
注意:本文所说的全局变量指的是 variables with static storage,措词来自 c++ 的语言标准文档。
什么时候初始化
根据 C++ 标准,全局变量的初始化要在 main 函数执行前完成,常识无疑,但是这个说法有点含糊,main 函数执行前到底具体是什么时候呢?是编译时还是运行时?答案是既有编译时,也可能会有运行时(seriously), 从语言的层面来说,全局变量的初始化可以划分为以下两个阶段 ( c++11 N3690 3.6.2 ):
static initialization: 静态初始化指的是用常量来对变量进行初始化,主要 ...
为 Windows GUI 窗口应用程序创建控制台
Windows下开发的 GUI 程序,如果在程序中调用了console的一些调试输出信息,则 GUI 模式下就不能看到这些信息了,如果能在 GUI 外带一个console 窗口,把调试信息输出到这个窗口是个不错的选择。
实现这个功能可以有多种方法,其中可以使用 Windows 的API AllocConsole 或者 AttachConsole,也可以使用开发工具 EDITBIN.exe
代码实现方法
AllocConsole
在Windows 的API,提供一大族Console的函数( 比如可以设置字符颜色等 ),AllocConsole 用来直接为一个进程创建一个控制台。注意,一个进程只 ...
C++11多线程及线程同步
C++11 中提供的线程类 std::thread, 基于此类创建一个新的线程相对简单,只需要提供线程函数和线程对象即可。
Ⅰ 命名空间 this_thread
C++11 添加一个关于线程的命名空间std::this_pthread ,此命名空间中提供四个公共的成员函数;
get_id()
调用命名空间std::this_thread 中的 get_id() 方法可以得到当前线程ID:
123456789101112131415#include <iostream>#include <thread>#include <mutex>void func() ...
MS vc++ 2017环境下编译 webkit
wke (3DWebUI)
3D Web UI, Embed Web and Flash in 3D Games, based on WebKit
Brought to you by: blzfans
主页地址: wke.sf.net
source code 1:
source code 2:
3rd code
升级SOUI WKE以支持_blank
Windbg调试系列之一:minidump崩溃捕捉
在日常工作中,本地c++代码发生崩溃时,编译器都可以帮我们捕捉到并且定位到具体的代码,这是因为编译器接收到了操作系统发送过来的程序异常通知并进行了处理。但是在使用我们软件的用户环境上,没有编译器帮我们处理这个异常,操作系统会使用它的异常处理机制:弹出程序异常对话框。因此我们需要将崩溃时产生的堆栈信息生成dump文件,传送到我们的服务器上,通过Windbg工具或者vs编译器进行崩溃分析。
系统的异常处理顺序
系统首先判断异常是否应发送给目标程序的异常处理模块,如果决定应该发送,并且目标程序正在被调试,则系统挂起程序并向调试器发送EXCEPTION_DEBUG_EVENT消息。
如果目标程 ...
KPI之CryptoAPI-概述
微软的CryptoAPI加密技术
微软的CryptoAPI是PKI推荐使用的加密API。其功能是为应用程序开发者提供在Win32环境下使用加密、验证等安全服务时的标准加密接口。CryptoAPI处于应用程序和CSP之间
CryptoAPI架构
CryptoAPI共有五部分组成:简单消息函数、低层消息函数、基本加密函数、证书编解码函数和证书库管理函数。前三者可用于对敏感信息进行加密或签名处理,可保证网络传输信心的私有性;后两者通过对证书的使用,可保证网络信息交流中的认证性。
基本加密函数:为开发加密应用程序提供了足够灵活的空间。所有CSP 的通讯都是通过这些函数。一个CSP 是实现所有加密操作 ...
自签名证书及其应用方式
代码签名有什么用?
对于我们来说,代码签名的作用也就是在UAC和运行程序时的界面稍微好看一点,看上去更高大上一点。
对于Windows应用程序的开发人员和软件厂商来说,代码签名可以减少应用程序的错误信息并提高应用程序的的可信度。 软件厂商和个体开发商可对他们通过互联网分销的软件进行数字签名并盖上时间戳, 该数字签名确保了最终用户知道该软件是合法的, 来自知名的软件厂商并且该程序代码字自发行以来就没有被篡改过。
但是随便一搜,发现所有的代码签名服务都是付费的,切价格昂贵.
Part Ⅱ 如何自己创建代码签名证书?
2-1 需要准备的工具
制作自己的代码签名证书需要的工具有:
cert2spc ...
Linux上编译C语言程序步骤及浅析Linux的动态链接库
Part Ⅰ
C语言的经典程序“Hello World”并不难写,很多朋友都可以闭着眼将它写出来。那么编译一个“Hello World”到底经历了怎样的过程呢?
从源代码到可执行文件
我们将这个文件命名为hello.c:
123456#include <stdio.h>int main() { printf("Hello World\n"); return 0;}
程序的第一行引用了stdio.h,stdio.h里有一些C标准库预定义好的方法,比如printf()方法,printf()方法可将字符串打印到标准输出流。
接着 ...
VPN和代理的区别
在绝大多数场景下, 我们提到VPN, 实际上是代指访问外网. 其实, VPN和我们平时使用的软件有着本质的区别.
能够实现外网访问功能的软件总共有两种类型 : VPN, 代理.
代理软件其实还可以细分为 TUN/TAP代理和系统代理 两种. 接下来的内容中, 我们会一一详细介绍.
一 什么是VPN
VPN的全称是Virtual Private Network, 中文名称是 虚拟私域网络. VPN出现的主要原因是为了将不同局域网连接起来,组成新的局域网.
初次接触这个概念可能会有点懵, 我们来仔细说说.
1 案例
我们举个例子, 公司有一台服务器, 在局域网中的IP地址是192.168.1.10 ...
中药的偏性——四气五味、升降沉浮、归经、有毒无毒
中药的性能即中药的偏性,也称中药的药性
其基本内容包括:
四气五味
升降沉浮
归经
有毒无毒
四气
寒 凉 温 热
寒凉药:清热泻火,凉血解毒,清热利尿,清心开窍,凉肝息风
温热药:温里散寒,补火助阳,温经通络,引火归元,回阳救逆
“寒者热之,热者寒之”
五味
《神农本草经》“药有酸,咸,甘,苦,辛五味”
五味不仅仅是对药物味道的真实反应,更重要的是对药物作用的高度概括。
辛甘发散为阳
酸苦通泄为阴
咸味涌泄为阴
淡味渗泄为阳
酸味属木,苦味属火,甘味属土,辛味属金,咸味属水
辛甘淡【阳】
酸苦咸涩【阴】
辛:能行能散
即具有发散,行气,行血的作用。【解表药,行气 ...