- 博客(17)
- 资源 (1)
- 收藏
- 关注
原创 Git常用命令
检查配置信息 git config --list 查看特定的一项配置 git config <key> 查看某个变量的原始值并显示最后修改该值的文件 git config --show-orgin <key> git commit -m ‘message’ 添加提交信息 git commit -a 可以直接将已经跟踪的文件暂存并且提交,跳过git add步骤 提交后发现暂存...
2020-04-29 17:27:34
303
原创 VCL组件库学习-标签和文本编辑组件
Label组件 显示表示文本,说明其它组件用途,显示的内容不允许用户在界面随意更改。 Edit和MaskEdit组件 Charcase:确定文本是全部大写、全部小写还是大小写混合。 MaxLength:制定文本框容纳字符数目最大值。 PasswordChar:当编辑框作为密码输入时,指定所显示的符号,该值为#0时正常显示。 SelLength:被选取文本的长度值。 SelText:被选取的文本。 ...
2020-04-27 14:54:33
357
原创 Delphi中组件库学习
Button组件 Cancel:布尔属性,当Cancel为True时,‘ESC’键相当于触发该Button的OnClick事件,窗体内有多个Button的Cancel属性为True,则执行顺序按照Tab序从小到大执行。 Default:布尔属性,当Default为True时,‘Enter’键相当于触发该Button的OnClick事件,窗体内有多个Button的Default属性为True,则...
2020-04-26 19:35:07
674
原创 操作系统--进程间通讯
信号机制及其使用 概念:信号是UNIX和Linux系统响应某些条件而产生的事件,信号提供了一种处理异步事件的方法,信号是由于某些错误条件产生的,例如内存段错误、浮点处理器错误、非法指令等。 处理信号的三种方式: 忽略此信号。大多数信号都可以被忽略,但是SIGKILL和SIGSTOP这两种信号不可以被忽略,原因:它是超级用户终止进程的可靠方法, 捕获信号,在某种信号发生的时候需要调用用户函数,在用户...
2019-08-14 21:00:16
329
原创 操作系统--进程
什么是进程 概念:一个正在执行的程序,包含多个资源 { 标识符:用于区别于其他进程 状态:若进程正在执行,则进程处于执行态 优先级:相对于其他程序的优先级 程序计数器:程序中即将被执行的下一条指令的地址 &n...
2019-08-13 21:57:32
195
原创 Linux网络编程基础
1.网络编程的基本概念 1.1什么是套接字 套接字,也叫socket,是操作系统内核的一个数据结构,网络通信说白了也就是进程通信(同一台机器上不同进程或者不同机器上的进程间通信)。在网络中确定两个进程通信需要的是机器的网络地址即IP地址,还需要确定是机器中的那个进程也就是进程号即端口号,套接字必须包含这些信息才能进行通信。 1.2端口号的概念 &nb...
2019-08-08 17:38:43
629
原创 I/O复用之epoll的实现
epoll系列系统调用 epoll是Linux下特有的I/O复用函数,它在实现和使用上与select、poll有很大的差异。首先epoll使用一组函数来完成任务,而不是单个函数,其次,epoll吧用户关心的文件描述符上的事件放在内核中的一个事件表中,无需向select和poll那样每次调用都要重复传入文件描述符集或者事件集,但是epoll...
2019-08-02 23:57:36
226
原创 对编译连接过程的认识
一.为何要有编译连接的过程 原因:程序文件需要运行环境,机器不识别高级语言 Linux下可执行文件是ElF、Windows下可执行文件是PE 编译连接过程: 预编译 生成.i文件 1.删除#idefine 文本替换 2.#if #endif #elif 3.#include 展开头文件 4.添加行号和文件标识 用于编译器产生调试用的行号信息及用于产生编译错误和警告显示行号 5.不处理#prag...
2019-07-31 22:06:09
506
原创 《剑指offer》面试题5:替换空格以及其衍生问题
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 #define MAX 1000 char* replaceSpace1(char* str,int len)//开辟一个数组 { int spacenum = 0;//统计空格 char *p = str; while (*p !=...
2019-07-31 00:03:52
133
原创 告知服务器意图的HTTP方法
下面将介绍HTTP/1.1中可以使用的方法 GET:获取资源 GET方法用来请求访问已经被URI是别的资源。指定资源经服务端解析后返回相应内容。 使用GET方法的请求·响应的例子 请求 GET/index.html HTTP/1.1 响应 返回index.html的页面资源 |请求|GET /index.h...
2019-07-29 16:53:10
223
原创 实现vector和vector的iterator
之前实现过vector容器,但是容器中最重要的迭代器没有实现,今天学习了针对vector的迭代器的实现
2019-05-06 13:35:01
1607
原创 I/O复用之poll的实现
poll系统调用和select类似,也是在指定时间内轮询一定数量的文件描述符,以测试其中是否有就绪者。 poll的原型如下: int poll(struct pollfd *fd, int nfds, int timeout) fds:是一个pollfd结构类型的数组,它指定所有我们感兴趣的文件描述符上发生的可读、可写和异常等事件。pollfd结构体定义如下 struct pollfd { ...
2019-04-23 00:57:32
361
原创 I/O复用之Select的实现
select系统调用的用途是:在指定一段时间内,监听用户感兴趣的文件描述符的可读、可写和异常等事件。 select的原型如下: int select(int maxfd, struct fd_set *readfds,struct fd_set *writefds, struct fd_set *exceptfds, struct timeval *timeout) maxfd:监听的最大文件...
2019-04-22 23:02:03
274
原创 Shared_Ptr相互引用导致的内存泄漏
循环引用: 引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引用的对象。 例如: class B; class A { public: A() { std::cout << "A()" << std::endl; } ~A() { std::cout << "~A()" << std::endl; } p...
2019-04-21 23:29:40
5425
3
原创 Shared_ptr的实现
share_ptr的实现 使用引用计数器来标记内存被多少个指针指向 定义一个类作为这个指针的指向个数(引用计数) 有一个智能指针指向即 引用计数+1 class Ref_Manggement { public: Ref_Manggement(){} //为对应指针添加引用计数 void addref(void* mptr) { if(mptr != NULL) { //根据m...
2019-04-21 22:22:02
2865
原创 创建对象的过程(临时对象)
class CGoods { public: CGoods(char* name, int amount, float price) { std::cout &lt;&lt; this &lt;&lt; " :CGoods::CGoods(char*,int,float)" &lt;&lt; std::endl; mname = new char[strlen(na
2019-03-14 20:20:59
2773
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅