C语言
Dam_Sam
这个作者很懒,什么都没留下…
展开
-
C++实现噪声传播
题目: [音源所在行,列,噪声值]的xing形式ji记录在二维数组中。 噪音沿相邻的八个方向传播,在传播的过程中,噪音值(单位为fe分贝)逐级递减1分贝,直至削弱到1(即噪音源覆盖区域边缘噪音分贝为1); 若同一格被多个噪音覆盖,监测结果不叠加,仅保留较大的噪音值(噪音源所在的格也可能被其他噪音源的噪音传播覆盖)。 所在有噪音源且持续传播情况稳定...原创 2020-04-25 18:07:41 · 1064 阅读 · 0 评论 -
守护进程
int daemon(int nochdir, int noclose); //第一参数表示是否保持当前目录,第二个参数表示是否保持当前终端,一般都用0. 自己实现守护进程: 1. fork()后结束父进程 2. 关闭终端相关的3个文件 3. 重新设置当前目录 ...原创 2019-08-26 21:33:29 · 163 阅读 · 0 评论 -
进程间通信方式
进程间通信Inter-Process Communication,IPC 1)匿名管道 int pipe(int fd[2]); 产生一个管道,两端各自用一个文件描述符表示,其中读端的文件描述符保存在fd[0]中,写端的文件描述符保存在fd[1]中。 只能用于父子进程间通信。在两个进程中只保留个描述...原创 2019-08-26 21:32:55 · 271 阅读 · 0 评论 -
linux下信号使用
信号singal: 信号是一种软中断,在程序中每个信号用一个整数表示,为了记忆每个信号都有一个宏定义。 SIGKILL 9 进程终止信号 SIGSTOP 进程停止信号 SIGCONT 进程继续执行信号 ...原创 2019-08-26 21:30:35 · 213 阅读 · 0 评论 -
linux unix 进程相关函数
getgpid(int); //获取当前进程的进程组id setsid(); //自己成立一个进程组 int atexit(void (*function)(void)); //登记程序正常结束时调用的函数(没有参数),如果有多份登记函数,按登记相反的顺序自动执行登记函数。 int on_exit(void (*function)...原创 2019-08-26 21:27:42 · 379 阅读 · 0 评论 -
linux文件系统的处理函数
文件系统 通用:rename(原路径名,新路径名); 修改文件名 remove(路径名); 删除文件或路径 symlink(原路径名,符号链接名); 建立文件或路径的软链接 access(路径名,权限); 权限:F_OK(是否存在) R_OK W_OK X_OK 的任意组合...原创 2019-08-26 21:24:05 · 426 阅读 · 0 评论 -
linux下,函数执行错误打印
extern int errno; //头文件<errno.h> char *strerror(int errnum); //errno 转换成对应的错误提示 <string.h> perror(char * str); //打印附加提示信息以及当前错误信息字符串 <stdio.h>...原创 2019-08-26 21:22:22 · 492 阅读 · 0 评论 -
进程的内存分段使用
每个进程都有自己独立的4G内存。进程访问数据时,使用的是虚拟内存地址,由操作系统将虚拟地址映射到物理地址。 操作系统为每个进程建立一个从虚拟地址到物理地址的一个映射表。操作系统以“页”为单位进行内存的映射,所以映射表也称为页表。 一页的大小可以通过getpagesize()获得。头文件<unistd.h> 一般来说,两个...原创 2019-08-26 21:21:12 · 500 阅读 · 0 评论 -
Linux下访问环境变量
env/set int main(int argc, char *argv, char *env);env是一个字符串(char *)数组,每个元素是一个环境变量的字符串。 env没有个数,是通过一个值为NULL元素表示结束的。 如果main函数没有env参数,可以使用全局变量environ,他是环境变量的字符串数组,和env一样。但是需要在使用之前...原创 2019-08-26 21:19:19 · 296 阅读 · 0 评论 -
动态库的加载和执行
void *ldopen(const char* filepath, int flag);打开动态库文件,返回一个指针作为句柄handle,失败返回NULL. flag标志取值RTLD_NOW表示立即加载到内存,RTLD_LAZY表示在使用时加载。 char *lderror(void);取得一个字符串描述动态库出错信息。 vo...原创 2019-08-26 21:18:06 · 822 阅读 · 0 评论 -
常用工具命令,具体怎么使用可以再百度,本文主要总结
工具命令: nm 显示目标文件中的符号(名字)清单 ldconfig 把动态库放入缓存中。系统启动会自动执行。 ldd 查看一个可执行文件依赖哪些动态库 strip 去掉目标中的冗余信息,一般是调试相关信息。 objdump 显示目标文件(二进制)的附加信息。 wc 用了统计:-l统计行...原创 2019-08-26 21:17:16 · 156 阅读 · 0 评论 -
C++实现四则运算
表达式计算思路: 1)准备两个栈,一个数据栈,一个运算符栈。 反复读取表达式:(2、3、4) 2)如果是数,入数栈。 3)如果是左括号,入运算符栈。如果是右括号,反复从运算符栈顶取运算符合从数据栈中取两个数据进行计算,并把运算结果入数据栈,直到遇到栈顶或左括号为止。 4)如果是运算符,先跟栈顶的运算符比,只要不高于栈顶yo...原创 2019-05-07 21:45:10 · 13219 阅读 · 5 评论 -
静态库和动态库的区别和使用
静态库在编译链接是就把库里头的代码提取出来放到可执行文件中,程序的执行不在依赖库。 动态库在编译链接时只记录要用的名字在哪个库文件中,运行时才从库文件中查找这个名字(函数或着变量)并访问它。 之间的区别:生成可执行文件大小、可执行文件执行速度、库生效方式(1)静态库 libxxx.a 1)生成静态库 写的C语言程序不应该有main函数 ...原创 2019-05-16 21:31:16 · 723 阅读 · 0 评论