`
灵动的水
  • 浏览: 191375 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论
文章列表
一回调函数 我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理、用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函数)有 ...
volatile的介绍       volatile类似于大家所熟知的const也是一个类型修饰符。volatile是给编译器的指示来说明对它所修饰的对象不应该执行优化。volatile的作用就是用来进行多线程编程。在单线程中那就是只能起到限制编译器优化的作用。所以单线程的童鞋们就不用浪费精力看下面的了。 没有volatile的结果       如果没有volatile,你将无法在多线程中并行使用到基本变量。下面举一个我开发项目的实例(这个实例采用的是C#语言但不妨碍我们讨论C++)。在学校的一个.Net项目的开发中,我曾经在多线程监控中用到过一个基本变量Int32型的,我用它来控制多线程中监 ...
(一) 理解Linux下进程的结构   Linux下一个进程在内存里有三部份的数据,就是“数据段”,“堆栈段”和“代码段”,其实学过汇编 语言的人一定知道,一般的CPU象I386,都有上述三种段寄存器,以方便操作系统的运行。“ ...
exec函数族包括6个函数: #include <unistd.h> int execl(const char *path, const char *arg, ...); int execlp(const char *file, const char *arg, ...); int execle(const char *path, const char *arg, const char *envp[]); int execv(const char *path, const char *argv[]); int execve(const char *path, const char ...
Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处。 下面举例说明什么是一对一的数据映射。比如一个班级中,每个学生的学号跟他的姓名就存在着一一映射的关系,这个模型用map可能轻易描述,很明显学号用int描述,姓名用字符串描述(本篇文章中不用c ...
inline 函数——多么棒的主意啊!它们看起来像函数,它们产生的效果也像函数,它们在各方面都比宏好得太多太多,而你却可以在调用它们时不招致函数调用的成本。你还有什么更多的要求呢?   实际上你得到的可能比你想 ...
popen函数语法要点 所需头文件:#include<stdio.h> 函数原型: FILE*popen(const char *command,const char *type) 函数传入值:Command:指向的是一个以null结束符结尾的字符串,这个字符串包含一个shell命令,并被送到/bin/sh以-c参数执行,即由shell来执行      type:“r”:文件指针链接到commond的标准输出,即该命令的结果产生输出        “w”:文件指针连接到command的标准输入,即该命令的结果产生输入 函数返回值:成功:文件流指针      出错:-1 */ /* p ...
linux time 函数 asctimeeHPLinux联盟 ctimeeHPLinux联盟 gettimeofdayeHPLinux联盟 gmtimeeHPLinux联盟 localtimeeHPLinux联盟 mktimeeHPLinux联盟 settimeofdayeHPLinux联盟 timeeHPLinux联盟 asctime(将时间和日期以字符串格式表示)  相关函数  time,ctime,gmtime,localtimeeHPLinux联盟 表头文件  #include<time.h>eHPLinux联盟 定义函数  char * asctime(con ...
在linux下遍历某一目录下内容LINUX下历遍目录的方法一般是这样的 打开目录->读取->关闭目录 相关函数是opendir -> readdir -> closedir,其原型如下: #include <dirent.h> DIR *opendir(const char *dirname); struct dirent *readdir(DIR *dirp); int closedir(DIR *dirp); 简单列举一例: #include<dirent.h>                struct dirent* ent = N ...
http://www.uml.org.cn/pzgl/200904246.asp TortoiseSVN使用简介   2009-04-24 来源:dev.idv.tw   1 安装及下载client 端 2 什么是SVN(Subversion)? 3 为甚么要用SVN? 4 怎么样在Windows下面建立SVN Repository? 5 建立一个Working目录 6 新增档案及目录到Repository中 7 更新档案及目录 8 更新至特定版本 9 复制档案及目录 10 制作Tag或是Release 11 快速参考 11.1 取得(Checkout)Rep ...
什么是Socket    Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。     Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的 Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),该函数返 回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Soc ...
百度百科也介绍的不错 线程?为什么有了进程还需要线程呢,他们有什么区别?使用线程有什么优势呢?还有多线程编程的一些细节问题,如线程之间怎样同步、互斥,这些东西将在本文中介绍。 是否熟悉POSIX多线程编程技术?如熟悉,编写程序完成如下功能: 1)有一int型全局变量g_Flag初始值为0; 2) 在主线称中起动线程1,打印“this is thread1”,并将g_Flag设置为1 3) 在主线称中启动线程2,打印“this is thread2”,并将g_Flag设置为2 4) 线程序1需要在线程2退出后才能退出 5) 主线程在检测到g_Flag从1变为2,或者从2变为1的时候退出 ...
在LINUX下获取网卡信息需要用到IOCTL或者getifaddrs 而我在用getifaddrs的时候遇到了内存方面的问题 先看相关定义: ========== 函数定义: /* Create a linked list of `struct ifaddrs' structures, one for each    network interface on the host machine.  If successful, store the    list in *IFAP and return 0.  On errors, return -1 and set `errno'.    ...
相关函数 fork,execve,waitpid,popen 表头文件 #i nclude<stdlib.h> 定义函数 int system(const char * string); 函数说明 system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string字符串所代表的命令,此命>令执行完后随即返回原调用的进程。在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT和SIGQUIT 信号则会被忽略。 返回值 =-1:出现错误   =0:调用成功但是没有出现子进程   >0:成功退出的子进程的id ...
一、smb服务器 1.定义: smb=server message block 2.samba是软件包组名称,smb服务包括两个核心进程:   smbd: 处理文件访问包;   nmbd: 提供smb的共享浏览; 3.smb的作用:   主要用于解决局域网中linux与其它linux或windows之间的共享服务; 4.samba ...
Global site tag (gtag.js) - Google Analytics