linux基础
ywy2090
这个作者很懒,什么都没留下…
展开
-
一个简单的makefile
弄了一个简单的makefile文件,记录下,方便以后使用。################################################################### to build the program, just use "make"# to clean the objs and bin files, use "make clean"#######原创 2016-02-20 09:48:02 · 364 阅读 · 0 评论 -
经典的”服务器最多65536个连接”误解
原文地址"因为TCP端口号是16位无符号整数, 最大65535, 所以一台服务器最多支持65536个TCP socket连接." - 一个非常经典的误解! 即使是有多年网络编程经验的人, 也会持有这个错误结论.要戳破这个错误结论, 可以从理论和实践两方面来.理论系统通过一个四元组来唯一标识一条TCP连接. 这个四元组的结构是{local_ip, local_po转载 2016-02-22 15:15:17 · 574 阅读 · 0 评论 -
gcc编译器相关
gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件 2.将预处理后的文件不转换成汇编语言,生成文件.s 3.有汇编变为目标代码(机器代码)生成.o的文件 4.连接目标代码,生成可执行程序 -c 只激活预处理,编译,和汇编,也就是他只把程序做成obj文件 例子用法:转载 2014-04-02 20:55:08 · 519 阅读 · 0 评论 -
gdb调试技巧总结
将遇到的gdb调试的技巧慢慢总结下。1. gdb 调试程序设置参数set args 可以在gdb调试时指定运行时的参数.show args 命令可以查看设置好的运行参数.#include int main(int argc, char *argv[]){printf("argc = %d\n", argc);for (int i = 0;i原创 2016-03-14 10:43:41 · 518 阅读 · 0 评论 -
互斥锁与自旋锁
自旋锁是一种非阻塞锁,也就是说,如果某线程需要获取自旋锁,但该锁已经被其他线程占用时,该线程不会被挂起,而是在不断的消耗CPU的时间,不停的试图获取自旋锁。互斥量是阻塞锁,当某线程无法获取互斥量时,该线程会被直接挂起,该线程不再消耗CPU时间,当其他线程释放互斥量后,操作系统会激活那个被挂起的线程,让其投入运行。两种锁适用于不同场景:如果是多核处理器,如果预计线程等待锁的时转载 2016-03-15 09:19:48 · 459 阅读 · 0 评论 -
linux命令行常用快捷命令
linux命令行常用快捷命令ctrl + a 跳到命令行的开头ctrl + e 调到命令行的结尾ctrl + b 向前跳一个字符ctrl + f 向后跳一个字符ctrl + ? 撤消前一次输入ctrl + k 删除命令行开头到当前位置的所有字符ctrl + u 删除当前位置到行尾的所有字符ctrl + l 清屏原创 2016-04-08 14:29:34 · 544 阅读 · 0 评论 -
c/c++函数 -strtol strtoll strtoul strtoull 使用注意项cc
strtol strtoll strtoul strtoull 使用注意项原创 2017-03-22 14:24:09 · 22171 阅读 · 0 评论 -
在Linux进行IO的正确姿势
原文地址很多C/C++程序虽然在做网络编程, 但大多用别人封装好的库, 对底层不甚了解, 感觉 IO 操作不是很简单吗? 我敢说, 大多数人进行 IO 的姿势都不对, 所谓的 IO, 主要是 read()/write() 两个函数.先说错误的 IO 读操作:int ret = read(fd, buf, len);if(ret == -1){ exit(-1);转载 2016-02-19 14:27:29 · 410 阅读 · 0 评论 -
线程安全与可重入函数
本文主要转csapp[深入理解计算机系统]第1版13.7.1。线程安全:一个函数被称为线程安全的(thread-safe),当且仅当被多个并发进程反复调用时,它会一直产生正确的结果。如果一个函数不是线程安全的,我们就说它是线程不安全的(thread-unsafe)。我们定义四类(有相交的)线程不安全函数。第1类:不保护共享变量的函数将这类线程不安全函数变为线程安全的,相对比转载 2016-03-05 10:26:13 · 677 阅读 · 0 评论 -
linux free详解
一直以来对linux的内存的查看都是一知半解, 今天有时间详细了解了下free的命令 ,在这块整理记录下。 free命令可以在linux下查看系统的内存的使用情况。 主要参数有: -b 结果以Bit的形式显示。 -k 结果以KB的形式显示(默认的显示方式)。 -m 结果以MB的形式显示。原创 2015-09-05 14:56:35 · 434 阅读 · 0 评论 -
gettimeofday
函数原型 #include int gettimeofday(struct timeval *tv, struct timezone *tz); int settimeofday(const struct timeval *tv, const struct timezone *tz); 返回值 : 正确返回0 失败返回-1,并且设原创 2015-09-12 14:21:48 · 650 阅读 · 0 评论 -
Linux网络编程echo简单示例1
今天看<<unix网络编程>>,看了书上简单的tcp/ip的简单示例,决定还是写一写.服务端//simple_echo_server.c#include <stdio.h>#include <errno.h>#include <string.h>#include <stdlib.h>#incl...原创 2015-09-01 13:56:53 · 650 阅读 · 0 评论 -
Linux网络编程echo简单示例2--select实现
#include #include #include #include #include #include #include #include #include #include #include #include #define log_msg(fmt,...) do\ {\ fprintf(stderr,fmt,##__VA_AR原创 2015-09-11 09:44:28 · 733 阅读 · 0 评论 -
一个简单的linux的测试修改模板
//一个简单的linux的测试用例模板//编译命令 : g++ -o1 -g simple_test_template.cpp -lpthread -o simple_test.exe //标准c头文件#include #include #include #include #include #include //linux下头文件#include #include #i原创 2017-03-23 10:35:29 · 478 阅读 · 0 评论