- 博客(20)
- 收藏
- 关注
原创 【无标题】
参数:arg 接收sqlite3_exec 传递来的参数。返回值:成功为0 SQLITE_OK ,出错 错误码。callback 回调函数,只有在查询时,才传参。参数:filename 数据库名称。功能:查询语句执行之后,会回调此函数。1)系统命令 , 都以’.'开头。返回值:成功 SQLITE_OK。.schema 查看表的结构。f_value 列的值得地址。f_name 列的名称。功能:得到错误信息的描述。参数:db 数据库句柄。errmsg 错误消息。ncolumns 列数。
2023-09-25 12:22:36 47 1
原创 网络编程下
i/o即数据的读取或写入发送通常用户进程中的一个完整io分两个阶段用户进程空间->内核空间内核空间->设备空间(网卡,c磁盘)io分为内存io,网络io,磁盘io三种对一个线程请求调用来讲,同步和一部的区别是否要等这个请求出最终结果对于多个线程来讲,同步异步就是线程间的步调是否一致,是否需要协商同步也经常在一个线程内先后两个函数的调用上一部就是请求返回的时候一定不知道结果,还得通过其他的机制来获知结果例如主动轮询或被动通知。阻塞与非阻塞与等到消息时的状态有关。
2023-09-25 09:18:40 48 1
原创 并发程序设计
进程是执行一个程序所分配的资源的总称,进程是程序的依次执行过程,动态的,包括创建,调度,执行,消亡bss段:用来存放程序中未初始化的全局变量的一块内存区域数据段:已经初始化的的全局变量的一块内存区域代码段:存放执行程序的代码的一块内存区域堆:存放进程运行中被动态分配内存的内存段栈:临时创建的临时变量,不用手动申请空间和释放进程控制块(pcb)包括进程标识pid进程用户进程状态,优先级文件描述符表(默认1024个)进程类型。
2023-09-16 09:19:59 74 1
原创 标准文件io
一切皆文件”文件类型:常规文件 r目录文件 d字符设备文件 c块设备文件 b (u盘,磁盘)管道文件 p套接字文件 s符号链接文件 l标准io通过缓冲机制减少系统调用,实现更高效的效率FILE标准io用一个结构体类型来存放打开文件的相关信息标准io所有的操作都是围绕着流来进行的文本流/二进制流全缓冲当流的缓冲区无数据或者无空间时才执行io操作行缓冲当在输入和输出遇到换行符时进行io操作流和一个终端互联,典型的行缓冲无缓冲。
2023-08-01 22:45:17 53
原创 Linux操作系统及c高级编程(【makefile】)
使用makefile的目的就是为了简化流程,提高效率,本质类似于脚本开发,为了方便对文件进行编译。语法:目标:依赖命令注意: 在命令前面有一个tab键位的缩进。两步编译大大的节省了编译进程,但注意要把最终生成的目标写在最前面,makefile执行过程中 若第一个目标执行完毕就不会再往下继续进行,把最后的大目标写在前面 ,大目标由小目标组成,文件就回去寻找小目标的执行过程。这样再次编译就会只编译修改过的文件,否则一步法编译无论修改哪个部分 都会从头重新编译。
2023-07-20 14:59:05 86
原创 Linux操作系统及c高级编程(【GDB调试】)
6.continue :继续运行,直到程序结束或者遇到断点。1.list 行号 :查看指定位置的程序源代码。2.break 函数名 :在指定函数处设置断点。3.info break : 显示断点信息。5.next :单步运行,不进入函数内部。8.print 查看打印变量值的内容。4.run :继续运行程序。7.bt 查看栈信息的内容。9.s 进入函数内部。
2023-07-20 12:31:14 34
原创 Linux操作系统及c高级编程(【共用体,枚举】)
共用体在本质上和结构体使用相同唯独的区别就是内存分配上有所不同,结构体每一个访问的成员变量都有独立的内存空间,灵活性较大,但内存占用大,共用体一次一个成员变量对其进行访问,但站占用内存小。共用体大小计算很简单,只需要找到最大公倍数即可。
2023-07-19 11:38:04 36
原创 Linux操作系统及c高级编程(【结构体】)
注意在这里对字符数组赋值的时候不能直接赋值,只能采用字符串拼接的方式才能进行赋值。也可以在结构体后面直接赋值变量。
2023-07-19 10:42:52 35
原创 Linux操作系统及c高级编程(【NFS服务器】)
添加 /nfs/rootfs *(rw,sync,no_subtree_check,no_root_squash)4.开始挂载目录:sudo mount -t nfs localhost:/nfs/rootfs /mnt。1.安装NFS服务:sudo apt-get install nfs-kernel-server。3.重启服务:sudo service nfs-kernel-server restart。2.编辑配置文件:sudo vi /etc/exports。其中nfs/rootfs为共享的目录。
2023-07-03 14:14:15 36 1
原创 Linux操作系统及c高级编程(【 TFTP服务器搭建及使用】)
安装TFTP服务:1.测试网络: ping 网站2.更新软件源:sudo apt-get update3.安装tftp服务:sudo apt-get install tftpd-hpa tftp-hpa4.配置服务器:sudo vi /etc/default/tftpd-hpa5.如果想自己配置一个工作文件夹:修改配置文件中的TFTP_DIRECTORY为你的目标文件夹。6.配置完成之后,给与目标文件夹权限:chmod 0777 tftpboot/
2023-07-03 13:30:56 217 1
原创 Linux操作系统及c高级编程(shell脚本编程【分支语句,多路分支语句,循环语句】)
这里的test可以省略 但是括号两边一定要有空格,shell脚本编程里面要严格控制空格。这里要注意if后面两个条件用-o连接 或者 两个括号括起来中间用或连接。传参,这里面要注意"$*“和”@"。以上为按照shell和c分别的两种方式写入出来的,功能一样。esac 相当于c语言当中的swich…for循环一般不单独使用和其他分支结构结合使用。也可以用c语言的方式去写,但需要加两个括号。continue跳出本次循环开始下一次循环。这里的then,fi相当于c语言当中的括号。注意每个语句结束后面要跟双分号。
2023-07-01 09:56:01 97
原创 Linux操作系统及c高级编程(shell脚本编程【概念,变量】)
shell脚本是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法和命令写在里面,搭配正则表达式,管道命令与数据流重定向功能。后缀为.sh。用来存放系统和用户需要使用的特定参数变量名:使用固定名称,有系统预设或用户定义变量值:能够根据用户设置,系统环境的变化而变化在./test.sh 后面进行传参。#表示一共传了几个参数,@表示所有参数?表示上一个命令执行的结果,上一个执行结果是什么?执行的结果就是什么。
2023-06-24 14:39:25 263 1
原创 Linux操作系统及c高级编程(shell命令【进程管理,用户管理】)
系统能够识别用户清单,用户登录时,系统查询这个文件,确定用户的uid并验证。
2023-06-23 16:27:49 78 1
原创 Linux操作系统及c高级编程(shell命令【文件搜索,文件处理,文件压缩】)
awk -F ‘:’ '$1=“linux” ‘[print $0]’ passwd 判断第一列是不是linux 并打印全部。压缩文件:将一组文件或目录保存在一个文件中,以某种存储格式保存在磁盘上,占的空间比所有文件总和小。sed ‘1d’passwd 删除第一行 预览,没有实质操作 如果要进行实质操作加-i。sed -n ‘1,4p’ passwd 打印passwd的1-4行。-A 除了显示符合范本样式的那一列外并和显示该行之后的内容。这里是执行rm删除操作 rm可替换成别的命令。
2023-06-23 15:50:11 218 1
原创 Linux操作系统及c高级编程(shell命令【权限,输入输出】)
随着各种linux系统的图形化程度不断提高,用户在桌面环境下,通过点击,拖拽等操作就可以完成大部分的工作。然而,许多ubuntu,linux功能使用shell命令来实现,更快更直接。shell是一个命令行解释器,为用户提供向linux内核发送请求。linux中的shell时linux内核的一个外层保护工具,并负责完成用户与内核之间的交互。
2023-06-23 14:26:25 124 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人