- 博客(94)
- 资源 (8)
- 收藏
- 关注
转载 VMware下linux Ubuntu使用NAT共享主机IP
VMware虚拟机安装后,在“网上邻居”-“查看网络链接”里会添加两个默认的虚拟网卡,分别是VMnet8(192.168.65.1)和VMnet1(192.168.19.1),当然不同的机器上,这两个网卡的 IP可能是不一样的。在windows中此二虚拟网卡可设置成自动获取IP的方式,此时在命令行输入ipconfig即可查看分配给它们的IP地址。同时我们还需要选择VMware有两种链接网络的方法,
2017-02-07 16:50:42
5071
原创 yum在线更新出现This system is not registered with RHN等错误解决方法
1 Redhat之所以会出现这个错误是因为没有注册RHN,我们只需要更新一下yum的源就可以了。使用命令 cd /etc/yum.repos.d/ 进入yum的配置目录。2 在终端中输入 wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo 命令,下载CentOS- Base.repo文件。3 然后将原有的rhel-debu
2017-02-04 15:49:41
2449
转载 虚拟机几种联网的方式,如何共享主机IP
我的pc有一个IP地址是可以访问网络的,那么怎样让VM能够共享我的IP地址,也能上网呢。今天在摸索中实现了,具体的配置如下: 1,首先将VM的网卡net8启用: 2,然后将VM的网卡设置为VMnet8(NAT): 3,将PC的可以上网的网卡共享: 要勾上允许其他网络用户通过此计算机的intenet连接来连接,并选择VMnet8。 4,设置VMn
2017-02-03 10:23:05
26289
1
转载 sqlite3使用简介
一.使用流程要使用sqlite,需要从sqlite官网下载到三个文件,分别为sqlite3.lib,sqlite3.dll,sqlite3.h,然后再在自己的工程中配置好头文件和库文件,同时将dll文件放到当前目录下,就完成配置可以使用sqlite了。使用的过程根据使用的函数大致分为如下几个过程:sqlite3_open()sqlite3_prepare()sqlite3_step
2017-01-16 09:57:16
407
转载 sql语句里的limit使用方法
SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了上面这样一个功能。 LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个
2017-01-16 09:42:45
514
转载 epoll使用详解
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且
2017-01-16 09:06:24
254
原创 socket编程
什么是TCP/IP、UDP? TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。 UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是属于TCP/IP协议族中的一种。
2017-01-13 16:18:47
244
转载 access函数
access():判断是否具有存取文件的权限相关函数 stat,open,chmod,chown,setuid,setgid表头文件 #include定义函数 int access(const char * pathname, int mode);函数说明 access()会检查是否可以读/写某一已存在的文件。参数mode有几种情况组合,
2017-01-09 10:45:20
218
原创 Makefile文件的编写
CC = arm-none-linux-gnueabi-gccobjects = statute.o common.o terminal.o serial.o lcd.o matrix.o dlt645.o pulse.o event.o gpio.o eeprom.o variate.o datastyle.o database.o decoderesetcmd.o decodesetpar
2016-08-23 15:11:27
270
转载 Linux Eclipse代码提示功能设置(Java & C/C++)
Java:增强Eclipse 的代码提示功能,具体怎么样来配置?下面开始说步骤:1. 打开Eclipse,然后“window”→“Preferences”2. 选择“java”,展开,“Editor”,选择“Content Assist”。3. 选择“Content Assist”,然后看到右边,右边的“Auto-Activation”下面的“Auto Activa
2016-07-21 09:28:53
1936
原创 POSIX多线程程序学习(一)
/*基本的同步版本*/#include "test.h"#include "stdio.h"#include #include int main(){ int seconds; char line[108]; char message[64]; while(true) { printf("Alarm> "); if(fgets(line,sizeof(line),
2016-07-20 11:38:17
298
转载 C语言sscanf函数的总结
#include #include #include static void sscanf_test(void);static void sscanf_test(void){ int ret; char *string; int digit; char buf1[255]; char buf2[255]; char buf3[255]; char buf4[255];
2016-07-20 10:38:09
232
转载 C语言文件操作之fgets()
原型 char * fgets(char * s, int n,FILE *stream); 参数: s: 字符型指针,指向存储读入数据的缓冲区的地址。 n: 从流中读入n-1个字符 stream : 指向读取的流。 返回值: 1. 当n 2. 当n=1 时,返回空串"".
2016-07-12 09:21:57
482
转载 八种排序算法总结
排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分
2015-12-03 14:25:47
405
转载 ofstream和ifstream详细用法
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器(2、析取器(>>) 从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin>>x;就表示从标准输
2015-10-07 21:50:35
404
转载 strcpy、memcpy、memmove的区别
strcpy和memcpy都是标准C库函数,它们有下面特点:strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容外,还会复制字符串的结束符。strcpy的函数原型是:char* strcpy(char* dest, const char* src);memcpy只提供一般的内存复制,即memcpy对于需要复制的内容没有限制,因此用途更广。
2015-10-07 09:09:40
356
转载 extern用法
1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗?
2015-10-06 14:36:29
323
转载 stl string常用函数
string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常string类的字
2015-09-27 10:18:20
254
原创 C++文件中读单词并统计输出改单词及其个数
(一)若每个单词之间只有空格或换行符,不含其它的标点符号,则可以直接读单词#include#include#include#include#includeusing namespace std;int main(){ ifstream in("D:\\test.txt"); assert(in!=NULL); mapmvc; string wor
2015-09-26 11:08:50
1660
1
原创 C++中虚析构函数
我们通常用将基类的析构函数设置为虚函数。可是,为什么要这样做呢?下面用一个小例子来说明:class Base{public: Base() {}; virtual ~Base() {cout<<"Output from the destructor of class Base!"<<endl; }; virtual void DoSomething() { c
2015-09-20 19:56:55
304
转载 C++拷贝构造函数详解
一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plaincopyint a = 100; int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。
2015-09-20 17:23:31
229
转载 C++虚继承的概念
http://blog.csdn.net/wangxingbao4227/article/details/6772579C++中虚拟继承的概念为了解决从不同途径继承来的同名的数据成员在内存中有不同的拷贝造成数据不一致问题,将共同基类设置为虚基类。这时从不同的路径继承过来的同名数据成员在内存中就只有一个拷贝,同一个函数名也只有一个映射。这样不仅就解决了二义性问题,也节省了内存
2015-09-20 17:08:41
251
转载 虚函数和纯虚函数的区别
首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。定义一个函数为纯虚函数,才代表函数没有被实现。定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。1、简介假设我们有下面的类层次:[cpp] view plaincopyprint?
2015-09-20 17:06:42
278
原创 C++中接口与抽象类
(一)接口和抽象类的概念不一样.接口是对动作的抽象, 抽象类是对根源的抽象.抽象类表示的是, 这个对象是什么. 接口表示的是, 这个对象能做什么. 比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.所以,在高级语言上,一个类只能继承一个类(抽象类)(正如人不可能同时是
2015-09-20 16:41:57
539
原创 将链表中的所有元素为奇数的节点移到元素为偶数节点的前面,并保证奇数之间顺序不变,偶数之间顺序不变(创新工场)
示例:交换前链表的顺序 交换后链表的顺序4→5→3→1→2 ==> 5→3→1→4→2 1 ==> 1 (链表仅含一个元素)2→1 ==>1→2 ==> (链表为空) C/C++:链表节点定义为:struct node {struct node *next;int value;};struct node *swap(struct node
2015-09-16 18:21:37
5590
2
原创 找出n个字符串中出现次数最多的字符串(创新工场)
C/C++:char* find(char **data,int n);说明:1. data是字符串数组,n是数组中字符串的个数,返回值为出现次数最多的字符串。2. 若结果有多个,返回任意一个即可3. 不得使用任何库函数/API,如需使用类似功能, 请自行实现4. 算法效率尽可能高,尽量少的使用内存空间5. 必须要有代码注释和算法说明。例如:data里面的数据是
2015-09-16 17:16:52
2183
原创 保留重复出现的字符串
#include#includevoid SaveSameString(char **name,int num){ int i,j,k=0,flag; char* temp; char *Output[num+1]; for(i=0;i<num;i++) { flag=0; temp=name[i];
2015-09-16 11:04:47
337
转载 C语言中string函数详解
#include #include #include int main() { char *dup_str, *string="abcde"; dup_str=strdup(string); printf("%s", dup_str); free(dup_str); return 0; } @函数原型:
2015-09-16 09:44:17
559
原创 各种排序算法的优缺点
1.插入排序基本思想: 将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。优点:稳定,快缺点:比较次数不一定,比较次数越少,插入点后的数据移动越多,特别是当数据总量庞大的时候2.希尔排序
2015-09-14 09:45:59
26195
4
转载 动态链接库两种调用方式的比较
一、动态链接库的概念动态链接库(Dynamic Link Library,缩写为DLL)是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。动态链接库文件的扩展名一般是dll,也有可能是drv、sys和fon,它和可执行文件(exe)非常类似,区别在于DLL中虽然包含了可执行代码却不能单独执行,而应由Windows应用程序直接或间接调用。动态链接是相对于静态链接而
2015-09-14 09:07:53
444
原创 堆与栈的区别
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。
2015-09-13 22:43:20
267
转载 内联函数
一、什么叫inline函数? inline(小心,不是online),翻译成“内联”或“内嵌”。意指:当编译器发现某段代码在调用一个内联函数时,它不是去调用该函数,而是将该函数的代码,整段插入到当前位置。这样做的好处是省去了调用的过程,加快程序运行速度。(函数的调用过程,由于有前面所说的参数入栈等操作,所以总要多占用一些时间)。这样做的不好处:由于每当代码调用到内联函数,就需要在调用处直接插入
2015-09-13 22:39:48
321
转载 C语言中的转义字符
在字符集中,有一类字符具有这样的特性:当从键盘上输入这个字符时,显示器上就可以显示这个字符,即输入什么就显示什么。这类字符称为可显示字符,如a、b、c、$、+和空格符等都是可显示字符。另一类字符却没有这种特性。它们或者在键盘上找不到对应的一个键(当然可以用特殊方式输入),或者当按键以后不能显示键面上的字符。其实,这类字符是为控制作用而设计的,故称为控制字符。在C语言中,构成字符常量的控制字
2015-09-13 10:33:58
572
1
转载 C++中引用和指针的区别
下面用通俗易懂的话来概述一下:指针-对于一个类型T,T*就是指向T的指针类型,也即一个T*类型的变量能够保存一个T对象的地址,而类型T是可以加一些限定词的,如const、volatile等等。见下图,所示指针的含义:引用-引用是一个对象的别名,主要用于函数参数和返回值类型,符号X&表示X类型的引用。见下图,所示引用的含义:2、指针和引用的区别首先,引
2015-09-13 09:10:16
312
原创 寻找Coder
请设计一个高效算法,再给定的字符串数组中,找到包含"Coder"的字符串(不区分大小写),并将其作为一个新的数组返回。结果字符串的顺序按照"Coder"出现的次数递减排列,若两个串中"Coder"出现的次数相同,则保持他们在原数组中的位置关系。给定一个字符串数组A和它的大小n,请返回结果数组。保证原数组大小小于等于300,其中每个串的长度小于等于200。同时保证一定存在包含coder的字符
2015-09-12 22:02:21
803
原创 找到两个不相容子数组的最大和
(一)题目描述给定一个数组arr,其中有很多的子数组,找到两个不相容子数组使得相加的和最大,并返回和的最大值。比如,数组[1,-1,0,-2,3,5,-2,8,7,-4],两个不相容子数组分别为[3,5]和[8,7]时累加和最大,所以返回23。再比如,数组[3,-1,0,-2,3,5,-2,8,7,-4],两个不相容子数组分别为[3]和[3,5,-2,8,7]时累加和最大,所以返回24。(
2015-09-12 16:25:25
552
原创 最长的可整合子数组的长度
(一)题目描述先给出可整合数组的定义。如果一个数组在排序之后,每相邻两个数差的绝对值都为1,则该数组为可整合数组。例如,[5,3,4,6,2]排序之后为[2,3,4,5,6],符合每相邻两个数差的绝对值都为1,所以这个数组为可整合数组。给定一个整型数组arr,请返回其中最大可整合子数组的长度。例如,[5,5,3,2,6,4,3]中最大可整合子数组为[5,3,2,6,4],所以返回5。(二)
2015-09-12 15:10:22
476
原创 String常用操作总结
之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。好了,进入正题………首先,为了在我们的程序中使用str
2015-09-10 16:27:08
302
转载 C++map的用法
map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有
2015-09-10 16:24:11
471
原创 常用协议对应的端口号
端口号的范围是从1~65535。其中1~1024是被RFC 3232规定好了的,被称作“众所周知的端口”(Well Known Ports);从1025~65535的端口被称为动态端口(Dynamic Ports)DHCP:服务器端的端口号是67 DHCP:客户机端的端口号是68 POP3:POP3仅仅是接收协议,POP3客户端使用SMTP向服务器发送邮件。POP3所用的端口号是
2015-09-09 10:00:21
9177
wxPython-4.1.1-cp39-cp39-win_amd64.whl
2021-09-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人