基础篇
Daniel-_-Lee
一个开始反祖的程序员...
展开
-
程序运行的原理
本文从一个最简单C程序(hello)是如何被编译和链接讲起,描述了一个程序运行的原理。一、程序运行之前使用IDE(集成开发环境)的朋友们经常会有这样的疑问:代码是怎么从一个文本文件变成可执行程序的呢?代码毕竟不是咒语,一个c程序在被运行之前其实经过了四个步骤,两次编译,汇编和链接。1.预编译这里我们只需要知道有一个叫预处理器(preprocessor也称预编译器)的转载 2014-02-02 21:49:46 · 938 阅读 · 0 评论 -
提升linux下tcp服务器并发连接数限制
1、修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许当前用户进程打开的文件数限制: [speng@as4 ~]$转载 2016-06-28 15:26:01 · 2228 阅读 · 0 评论 -
mysql数据库忘记root密码修改方法
介绍一个非常有用的mysql启动参数—— --skip-grant-tables。 顾名思义,就是在启动mysql时不启动grant-tables,授权表。有什么用呢?当然是忘记管理员密码后有用。 操作方法: 1、杀掉原来进行着的mysql: rcmysqld stop 或者: service mysqld stop转载 2016-07-12 16:25:01 · 251 阅读 · 0 评论 -
Linux中Samba详细安装
为了实现Windows主机与Linux服务器之间的资源共享,Linux操作系统提供了Samba服务,Samba服务为两种不同的操作系统架起了一座桥梁,使Linux系统和Windows系统之间能够实现互相通信,为广泛的Linux爱好者提供了极大方便。本文简要介绍如何在Linux操作系统上搭建Samba服务器和简单配置。 1、服务查询默认情况下,Linux系统在默认安装中已经安转载 2016-07-07 16:59:47 · 270 阅读 · 0 评论 -
linux下redis安装
第一部分:安装redis 希望将redis安装到此目录 1/usr/local/redis希望将安装包下载到此目录 1/usr/local/src那么安装过程指令如下:转载 2016-07-06 14:50:55 · 289 阅读 · 0 评论 -
tomcat的JVM内存及连接器配置
JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap size 的大小是Young Generation 和Tenured Generaion 之和。提转载 2016-09-08 14:48:24 · 540 阅读 · 0 评论 -
linux服务器怎么安装pip
1、先说一下什么是pippip 是“A tool for installing and managing Python packages.”,也就是说pip是python的软件安装工具2、下面介绍怎么在linux下安装pip下载pip到/usr/local/src# cd /usr/local/src# wget "https://pypi.python.org/packages/sou转载 2016-10-18 14:23:58 · 1018 阅读 · 0 评论 -
linux sed命令详解(MARK)
sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。sed使用参数转载 2016-11-10 17:24:35 · 246 阅读 · 0 评论 -
https://man.linuxde.net
https://man.linuxde.net转载 2019-03-01 10:55:45 · 4467 阅读 · 0 评论 -
递归提取文件夹下所有叶子节点文件至指定文件夹
文件结构图: dir1 ├── a │ ├── b │ │ └── file1 │ └── file2 ├── c │ └── d │ ├── e │ │ └── file4 │ └── file3 └── file5转载 2016-05-17 15:29:29 · 452 阅读 · 0 评论 -
CentOS6.5内核升级到linux 3.12.17教程
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G) 系统版本:Linux centos 2.6.32-431.el6.x86_64(Centos-6.5-x86_64-minimal.iso ) 升级内核版本:longterm:3.12.17 升级步骤: 1.虚拟系统安装 要求mininal方式安装(20转载 2016-02-24 13:36:57 · 629 阅读 · 0 评论 -
结构体对齐详解
1 -- 结构体数据成员对齐的意义许多实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的起始地址的值是某个数k的倍数,这就是所谓的内存对齐,而这个k则被称为该数据类型的对齐模数(alignment modulus)。这种强制的要求一来简化了处理器与内存之间传输系统的设计,二来可以提升读取数据的速度。比如这么一种处理器,它每次读写内存的时候都从某个8倍数的地址开始,转载 2014-02-04 17:56:17 · 572 阅读 · 0 评论 -
如何避免僵尸进程
[cpp] view plaincopy#include #include #include #include int main(void) { pid_t pid; if ((pid = fork()) { fprintf(转载 2014-02-16 09:08:17 · 534 阅读 · 0 评论 -
C语言宏定义##连接符和#符的使用
C语言中如何使用宏C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。关于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量 通过替换后在其左右各加上一个双引号。比如下面代码中的宏:#define WARN_IF(EXP转载 2014-02-16 10:38:55 · 348 阅读 · 0 评论 -
linux c 信号量详解
信号量当我们在多用户系统,多进程系统,或是两者混合的系统中使用线程操作编写程序时,我们经常会发现我们有段临界代码,在此处我们需要保证一个进程(或是一个线程的执行)需要排他的访问一个资源。信号量有一个复杂的编程接口。幸运的是,我们可以很容易的为自己提供一个对于大多数的信号量编程问题足够高效的简化接口。为了阻止多个程序同时访问一个共享资源所引起的问题,我们需要一种方法生成并且使用一个标转载 2014-03-04 00:58:10 · 5480 阅读 · 0 评论 -
linux系统目录内容介绍
根:/root --- 启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。home --- 存储普通用户的个人文件ftp --- 用户所有服务httpdsambauser1user2bin --- 系统启动时需要的执行文件(二进制)sbin --- 可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行proc --- 虚拟,存在转载 2014-03-12 16:24:46 · 515 阅读 · 0 评论 -
比较全面的GDB调试用法
用GDB调试程序 GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。 于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更转载 2014-03-09 11:42:10 · 752 阅读 · 0 评论 -
UML时序图
一、时序图简介(Brief introduction) 二、时序图元素(Sequence Diagram Elements)角色(Actor)对象(Object)生命线(Lifeline)控制焦点(Focus of Control)消息(Message)自关联消息(Self-Message)Combined Fragments 三、时序转载 2014-03-19 15:51:01 · 519 阅读 · 0 评论 -
Linux下的进程间通信-详解
详细的讲述进程间通信在这里绝对是不可能的事情,而且笔者很难有信心说自己对这一部分内容的认识达到了什么样的地步,所以在这一节的开头首先向大家推荐著 名作者Richard Stevens的著名作品:《Advanced Programming in the UNIX Environment》,它的中文译本《UNIX环境高级编程》已有机械工业出版社出版,原文精彩,译文同样地道,如果你的确对在Linux下编转载 2014-09-16 21:04:36 · 388 阅读 · 0 评论