目前在阿里巴巴搬砖
1. exit用于结束正在运行的整个程序,它将参数返回给OS,把控制权交给操作系统;而return 是退出当前函数,返回函数值,把控制权交给调用函数。2. exit是系统调用级别,它表示一个进程的结束;而return 是语言级别的,它表示调用堆栈的返回。
vim中字符串出现次数的统计在所有行中查找 字符串 出现的次数 :%s/字符串//gn:%s/字符串/&/gn在m和n行之间查找 字符串 出现的次数:m,ns/字符串/&/gn C-r (register) 在insert模式下插入寄存器对应的内容在insert模式下,C-r (register) 插入register里的内容,一个有趣的reg是”=”. 假设你想输入123K的具体字节数,不用打开计算器,试试这个”=1024*123″,”125952″就出来了! * 向下查找当前光标所在单词或字符串g* 查找则不限制whole word。
要对系统中进程进行监测控制,查看状态,内存,CPU的使用情况,使用命令:/bin/ps (1) ps :是显示瞬间进程的状态,并不动态连续; (2) top:如果想对进程运行时间监控,应该用 top 命令; (3) kill 用于杀死进程或者给进...
RPM 有五种基本的操作方式(不包括创建软件包): 安装, 卸载, 升级, 查询,和验证。 下面我们就来逐一的讲解吧。 一、 安装RPM包 RPM 软件包通常具有类似foo-1.0-1.i386.rpm 的文件名。
任何时候,多个进程可能同时使用TCP、UDP和SCTP这3种传输层协议中的任何一种。这3种协议都使用16位整数的端口号来区分这些进程。 当一个客户想要跟一个服务器联系时,它必须标识想要与之通信的这个服务器。
与TCP一样,SCTP也是面向连接的,因而也有关联的建立与终止的握手过程。不过SCTP的握手过程不同于TCP。 四路握手 建立一个SCTP关联的时候会发生下述情形(类似于TCP)。 (1)服务器必须准备好接受外来的关联。
总图 虽然协议族被称为“TCP/IP”,但除了TCP和IP这两个主要协议外,还有许多其他成员。图2-1展示了这些协议的概况。 图2-1中同时展示了IPV4和IPV6。从右向左看该图,最右边的5个网络应用在使用IPV6,随后的6个网络应用使用IPV4。
#include pid_t fork(void); 返回:在子进程中为0,在父进程中为子进程IO,若出错则为-1 fork最困难之处在于调用它一次,它却返回两次。
最近在CentOS6.4下使用其默认的文档查看器打开PDF文档时出现乱码的方块,有两种方法可以解决。 方法一:修改/etc/fonts/conf.d/49-sansserif.conf文件,如下: [html] view plaincopy ...
一 分层 TCP/IP网络协议栈分为应用层(Application)、传输层(Transport)、网络层(Network)和链路层(Link)四层。 1)链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。
Ubuntu下的文档编辑虽然有libreoffice,但对中文和公式的排版始终不如ms office,因此要想写出高质量的文档,只能靠latex了,现在随着xeCjk的开发,中文文档在ubuntu下的排版已经非常棒了,已经足够支持和成熟,其组合是:texlive2014+texmaker+lyx+中文字体,这样在ubuntu下就可以开发出完美的中文文档了。
在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区别的。 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。
线程、进程和多线程是面试过程中很容易遇到的问题,去年百度三面的时候就遇到这个问题,当时百度hr问到:线程和进程的区别是什么?你写过多进程或者多线程的程序吗?在你看来多线程和多进程程序那种程序比较难写? 第一个问题很常规,但是要完全答对却不是那么容易,现在想来,第二个问题和第三个问题实际是一个问题,因为第三个问题是验证第二个问题是否说实话的最好的方式。
When I try running Code::Blocks, I get the following error message: Another program instance is already running.
静态库 (扩展名为 .a 或 .lib) 是包含函数的文件,用于在link阶段整合执行程序,动态链接库(扩展名 .dll)是不在link阶段整合进执行程序中的。 DLL文件在执行阶段动态调用 下面我们将用免费的开发工具CodeBocks开发静态库 创建静态库 启动Codeblocks并创建一个类型为 "Static Library" (File/New/Project/Static Library/Go)的项目。
前言:我想大家学习C语言接触过的第一个函数应该是printf,但是我们真正理解它了吗?最近看Linux以及网络编程这块,我觉得I/O这块很难理解。以前从来没认识到Unix I/O和C标准库I/O函数压根不是一码事。
3.1 当读/写磁盘文件时,本章中描述的函数是否具有缓冲机制?请说明原因。 3.1 所有的磁盘 I/O 都要经过内核的块缓冲区(也称为内核的缓冲区高速缓存),唯一例 外的是对原始磁盘设备的 I/O,但是我们不考虑这种情况。
19.18编写一个函数,使用count_if统计在给定的vector中有多少个空string。 #include #include #include #include #include using namespace std; int main() { vector...
17.39 #include #include #include #include using namespace std; int main() { fstream inOut("copyOut",fstream::ate|fstream::in|fstream::...
#include #include #include using namespace std; int main() { ifstream file("1.txt"); char ch[20]; cout
#include #include #include using namespace std; int main() { cout
17.28 编写函数,每次调用生成并返回一个均匀分布的随机unsigned int。 ...
17.10使用序列1、2、3、5、8、13、21初始化一个bitset,将这些位置置位。对另一个bitset进行默认初始化,并编写一小段程序将其恰当的位置位。 #include #include using namespace std; int main() { bitset...
17.4编写并测试findbook函数 #include #include #include #include #include #include"Sales_data.h" using namespace std; typedef tuple matches; vecto...
17.3 重写前面的TextQuery程序,使用tuple代替QueryResult类。 TextQuery.h #ifndef TEXTQUERY_H #define TEXTQUERY_H #include #include #include #include #includ...
16.62定义你自己版本的hash,并定义一个Sales_data对象的unordered_multiset。将多条交易记录保存到容器中,并打印其内容。 Sales_data.h #ifndef SALES_DATA_H #define SALES_DATA_H #include #i...
16.58 为你的StrVec类添加emplace_back函数。 StrVec.h(注意,函数模板和模板成员函数的定义和声明要放在一起,通常都放在头文件中) #ifndef STRVEC_H #define STRVEC_H #include #include #include ...
16.53 编写你自己版本的print函数,并打印一个、两个及五个实参来测试它,要打印的每个实参都应有不同的类型。 #include #include using namespace std; template ostream& print(ostream &os,const T...
16.47 编写你自己版本的翻转函数,通过调用接受左值和右值引用参数的函数来测试它。 #include #include #include using namespace std; template int compare(const T &a ,const T &b) { ...
16.21 编写你自己的DebugDelete版本。 #include #include using namespace std; class DebugDelete { public: DebugDelete(ostream &s=cerr):os(s) {} ...
16.19 编写函数,接受一个容器的引用,打印容器中的元素,使用容器的size_type和size成员来控制打印元素的循环。 16.20 重写上一题的函数,使用begin和end返回的迭代器来控制循环。
16.12编写你自己版本的Blob和BlobPtr模板,包含书中未定义的多个const成员。 Blob.h(注意,成员函数的声明和定义要放在一个头文件中) /*记住,模板的头文件中通常既包括声明也包括定义。
16.4 编写行为类似标准库find算法的模板。函数需要两个模板类型参数,一个表示函数的迭代器参数,另一个表示值的类型。使用你的函数在一个vector和一个list中查找给定值。 #include #include #include #include #include using n...
15.26 定义Quote和Bulk_quote的拷贝控制成员,令其与合成的版本行为一致。为这些成员以及其他构造函数添加打印状态的语句,使得我们能够知道正在运行哪个程序。使用这些类编写程序,预测程序将创建和销毁哪些对象。
15.7定义一个类使其实现一种数量受限的折扣策略,具体策略是:当购买书籍的数量不超过一个给定的限量时享受折扣,如果购买量一旦超过了限量,则超出的部分将以原价销售。 Quote.h #ifndef QUOTE_H #define QUOTE_H #include #include us...
14.44编写一个简单的桌面计算器使其能处理二元运算。 #include #include #include #include using namespace std; int add(int a,int b) { return a+b; } struct d...
14.42 使用标准库函数对象及适配器定义一条表达式,令其 1 统计打于1024的值有多少个。 2 找到第一个不等于pooh的字符串 3 将所有的值乘以2 14.43 使用标准库函数对象判断一个给定的int值是否能被int容器中的所有元素整除 #include #include #...
14.38 编写一个类令其检查某个给定的string对象的长度是否与一个阈值相等。使用该对象编写程序,统计并报告在输入的文件中长度为1的单词有多少个,长度为2的单词有多少个、.....、长度为10的单词又有多少个。
14.34定义一个函数对象类,令其执行if-then-else的操作;该类型的调用运算符接受三个参数,它首先检查第一个形参,如果成功返回第二个参数的值;如果不成功返回第三个形参的值。 #include using namespace std; class if_then_else { ...
13.57 编写Foo类。 Foo.h #ifndef FOO_H #define FOO_H #include #include #include using namespace std; class Foo { public: Foo sorted() &&...
13.50 没有定义析构函数 #include #include #include #include #include #include using namespace std; class String { public: String():elements(...
13.44 编写标准库string类的简化版本,命名String。你的类应该至少有一个默认构造函数和一个接受C风格字符串指针参数的构造函数。使用allocator为你的String类分配所需内存。 13.47 添加拷贝构造函数和拷贝赋值运算符,并添加打印语句,则每次函数执行时打印一条信息。
13.39 编写自己的StrVec,包括自己版本的reserve、capacity和resize。 13.40 为StrVec添加一个构造函数,它接受一个initializer_list参数 StrVec.
13.33 13.36 13.37 Message.h #ifndef MESSAGE_H #define MESSAGE_H #include #include #include #include"Folder.
13.31为你的HasPtr类定义一个
13.27 定义使用引用计数版本的HasPtr #include #include #include using namespace std; class HasPtr { public: HasPtr(const string &s=string()):ps(new...
13.22 假定我们希望HasPtr的行为像一个值。即,对于对象所指向的string成员,每个对象都有一份自己的拷贝。 #include #include #include using namespace std; class HasPtr { public: Has...
#include #include #include #include struct Numbered { //! for ex13.14 Numbered() { static unsigned i = 0; ...
12.32 重写TextQuery和QueryResult类,用StrBlob代替vector保存输入文件。 TextQuery.h #ifndef TEXTQUERY_H #define TEXTQUERY_H #include #include #include #includ...
新标准定义了4个无序关联容器。这些容器不是使用比较运算符来组织元素,而是使用一个哈希函数和关键字类型的==运算符。在关键字类型的元素没有明显有序关系的情况下,无序容器是非常有用的。在某些应用中,维护元素的序代价非常高昂,此时无序容器也很有用。