c++
大拿
软件研发、设计、系统集成
展开
-
c++ 随机数,浮点数据随机
使用rand函数获得随机数。rand函数返回的随机数在0-RAND_MAX(32767)之间。 例子: /* RAND.C: This program seeds the random-number generator * with the time, then displays 10 random integers. */转载 2017-01-10 09:38:12 · 9331 阅读 · 0 评论 -
整型数据表示范围
unsigned int : 0~4294967295int: -2147483648~2147483648unsigned long: 0~4294967295long: -2147483648~2147483648unsigned long long(unsigned __int64):0~1844674407370955161long long(__int64):-92233720...原创 2018-03-19 09:17:14 · 7518 阅读 · 0 评论 -
分析很透彻的C/C++ 基本类型及是否需要多线程锁
学了C然后C++,然后MFC/Windows,然后是C#,其中数据类型很多,由基本类型衍生的typedef类型也N多。熟知基本数据类型是我们正确表达实际问题中各种数据的前提,因此我分类总结了一下C/C++/Windows /C#基本数据类型,以便日后查阅。 ANSI C/C++基本数据类型32位机器上:TypeSize转载 2018-01-26 08:46:46 · 5858 阅读 · 5 评论 -
C++ 加锁的原则
说明:每个锁只锁一个唯一共享资源;这样,才能保证锁应用的单一,也能更好的确保加锁的范围尽 量小。 对于共享全局资源,应该根据实际需要,每类或每个资源,有一把锁。这样,这把锁只锁对这个资源 访问的代码,通常这样的代码都会是比较简单的资源操作代码,不会是复杂的函数调用等。相反,如 果我们对几类或几个资源共用一把锁。这把锁的责任范围就大了,使用复杂,很难理清锁之间的关系(有 没有释放锁,或者锁之间的嵌套转载 2018-01-26 08:38:34 · 1807 阅读 · 0 评论 -
理解线程或进程数是如何拥有互斥锁(CreateMutex)
互斥量: 采用互斥对象机制。互斥锁,像一个物件,这个物件只能同时被一个线程持有。 只有拥有互斥对象的线程才有访问公共资源的权限,因为互斥对象只有一个,所以能保证公共资源不会同时被多个线程访问。互斥不仅能实现同一应用程序的公共资源安全共享,还能实现不同应用程序的公共资源安全共享。 一、创建 创建互斥锁的方法是调用函数CreateMutex: CreateMutex原创 2018-01-25 10:57:07 · 7039 阅读 · 4 评论 -
浅析:setsockopt()改善程序的健壮性
主 题: 浅析:setsockopt()改善程序的健壮性作 者: gdy119 (夜风微凉)不断的收到coolmei25 (梅生)的答谢,我都不好意思了(我都没帮到他),下面写出我在网络编程中的一点心得体会,希望对他(^_^也对大家)有帮助:1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用closesock转载 2018-01-23 08:52:01 · 324 阅读 · 0 评论 -
解决linux QT不能切换中文输入法
打开/etc/profile文件在最后一行增加 export QT_IM_MODULE=ibus 然后重启。原创 2017-11-14 08:19:48 · 2840 阅读 · 0 评论 -
Linux编译安装中configure、make和make install各自的作用
这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。make是用来编译的,它从Makefile中读取指令,然后编译。make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。转载 2017-11-14 08:10:20 · 439 阅读 · 0 评论 -
VMware下的RHEL 6.4 安装gcc和gcc-c++
安装gcc首先需要相应的软件包(即rpm包),在rhel-workstation-6.4-x86_64-dvd.iso中就有相应的rpm包,怎样将rhel-workstation-6.4-x86_64-dvd.iso镜像通过VMware下的CD/DVD设备挂载到VMmare中的Redhat系统中,如下所示: 点击【Settings...】选项,打开如下对话框:转载 2017-03-23 14:18:36 · 509 阅读 · 0 评论 -
关于PostThreadMessage和GetMessage
关于PostThreadMessage和GetMessage的一些使用记录1.PostThreadMessage有时会失败,报1444错误(Invalid thread identifier. ) 其实这不一定是线程不存在的原因,也有可能是线程不存在消息队列(message queue)造成的。 事实上,并不是每个thread都有message queue,那如何让thread具有呢? 答转载 2017-02-09 10:27:34 · 1209 阅读 · 0 评论 -
C++内存分配
text段、data段(堆和栈)和bss段转一、程序的内存分配1.1个由C/C++编译的程序占用的内存分为以下几个部分 1>栈区(stack)——由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2>堆区(heap)——一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵...转载 2018-03-14 08:31:41 · 1295 阅读 · 0 评论