
linux c
文章平均质量分 68
左少华
让学习成为一种乐趣。
展开
-
Linux-c-粘住位
核心定义粘住位(Sticky Bit)是UNIX/Linux文件系统中的一种特殊权限属性,对应文件模式中的S_ISVTX标志位。最初用于可执行文件,设置后可使程序首次执行结束时将代码段保留在交换区,以提升后续加载速度(因交换区文件存储连续)12。早期应用场景在早期UNIX系统中,粘住位常用于高频使用的程序(如文本编辑器、编译器),通过减少磁盘寻址时间优化性能。但现代系统因虚拟内存和高效文件系统(如快速文件系统、日志文件系统)的普及,此功能已逐渐弃用12。原创 2025-03-14 22:38:17 · 371 阅读 · 0 评论 -
linux-c 字节序问题--大小端
今天面试被问了一个网络字节系列的问题分享一下:1.如何将Int转换成byte数组在网络上传输。2.计算机世界里的大小端问题。原创 2025-02-25 20:42:43 · 579 阅读 · 0 评论 -
linux-c 汇编代码理解修改一级指针指向
mallocInt函数的主要功能是调用malloc函数分配 4 字节的内存空间,并将分配的内存地址存储到调用者提供的指针所指向的位置。它遵循了典型的函数调用栈帧管理流程,包括栈帧的建立、参数保存、函数调用、返回值处理以及栈帧的恢复。原创 2025-02-23 21:56:50 · 1012 阅读 · 0 评论 -
Linux-C-函数栈-SP寄存器
(Stack Pointer,栈指针)是计算机体系结构中一个非常重要的寄存器,下面将详细介绍其作用和原理。栈是一种后进先出(LIFO,Last In First Out)的数据结构,在程序运行过程中,栈用于存储局部变量、函数调用的上下文信息(如返回地址、寄存器值等)。 寄存器的主要作用就是指向栈顶的位置,通过移动 指针,可以在栈上进行数据的压入(PUSH)和弹出(POP)操作。当程序调用一个函数时,需要保存当前的执行上下文(如返回地址、寄存器的值等),以便在函数执行完毕后能够正确返回并恢复现场。这些信息通原创 2025-02-22 16:49:02 · 590 阅读 · 0 评论 -
Linux C 静态库如何生成并使用
如果把.a文件拷贝到/usr/local/lib 和.h头文件copy到 /usr/local/include下。在编译 C 或 C++ 程序时,编译器需要找到所包含头文件的位置。首先创建一个简单的示例项目,包含一个头文件和一个源文件。等编译器默认会在一些标准目录中搜索头文件,其中就包括。那么可以省略-L.选项。原创 2025-02-21 20:40:21 · 236 阅读 · 0 评论 -
c语言中offseto宏
内核链表中宏解析原创 2025-02-21 09:32:12 · 299 阅读 · 0 评论 -
linux内核模块笔记
主题: 1. 嵌入式基础知识 2. linux内核介绍 3. 内核的编译和安装(x86) 4. 第一个模块 5. 模块的相关工具 6. 模块的符号导出 7. 模块的参数作业:1.看linux/module.h。以后每天看课程中接触到的头文件 这个文件所在的位置:/home/zshh/work/driver/kernel/linux-3.5/include/linux重点看原创 2014-12-21 20:58:43 · 1295 阅读 · 0 评论 -
使用vim调试c的语法错误
使用vim调试c代码的语法错误: 第一步:打开vim vim 第二步: 再命令行模式输入copen之后回车. 第三步: 再使用set mouse = a,打开鼠标. 第四步打开c文件. 使用vsp再命令行打开文件. vsp demo.c 之后可以使用.make demo再命令模式下进行原创 2014-12-15 22:58:23 · 3807 阅读 · 0 评论 -
使用汇编分析c代码的内存分布
深入了解c内存分析.原创 2014-12-14 23:38:16 · 1785 阅读 · 0 评论 -
4412开发版led控制
exynos4412裸版控制led灯.1.查看电路图.2.查看4412手册.找到对应的寄存器.3.配置对应的寄存器.一.再开发板上我们的外部设备led,在核心板.所以我们需要打开核心板电路图. zshh@HP:~/work/arm/arm资料/exynos4412_lzy/schematic$ ls LCD-HD700-1306.pdf Tiny4412_1306_core_b原创 2014-12-25 22:10:15 · 2363 阅读 · 0 评论 -
从零开始写一个arm下的裸板程序
从零开始写一个arm下的裸板程序.我们整个程序是基于uboot运行的.所有我们可以借助uboot中的printf来输出,默认开发版的标准输出是串口.电脑的默认标准输出的屏幕.1.需要创建的文件由include文件夹,用来存放头文件.2.创建一个hw.h头文件.3.编写一个common.h,它定义了借用uboot的printf的宏.和NULL这个宏的定义.4.hw.c 硬件相原创 2014-12-25 17:33:38 · 2983 阅读 · 0 评论 -
Linux IPC SOCKET 通信基本函数解析
网络IPC:套字节1.套字节描述符和文件描述符对比。 1.1使用套字节描述符访问套字节。 1.2使用文件描述符访问文件2.套字节是通信端点的抽象。 2.1套字节描述符号。可以使用read,和write文件进行操作。 #includesocket函数: int socket(int dom原创 2014-08-26 22:07:27 · 899 阅读 · 0 评论 -
C语言 log等级_实现
C Log等级实现原创 2014-09-10 12:23:31 · 2461 阅读 · 0 评论 -
F4107单进程处理多个usart中断接收到的数据
解决:Cortex-M4上,usart自动发送数据方案。 1. usart中断太快。数据还没有处理完。usart中断就会把没处理完的数据上该覆盖掉。导致数据丢失。 2.这程序需要在main中处理4个usart口的数据,这样出错的概率会更大。提出如下解决方案: 第一:规定每条完成的数据长度,步会超过256字节。 第二:我们规定数据的结束表标志为数据的后三位为,FFFFFF原创 2014-09-22 11:49:27 · 1468 阅读 · 0 评论 -
linux 下svn的安装和使用
系统环境 RHEL5.4最小化安装(关iptables,关selinux) + ssh + yum一,安装必须的软件包. yum install subversion (SVN服务器) mysql-server (用于codestriker) httpd mod_da转载 2014-09-22 13:49:30 · 910 阅读 · 0 评论 -
Linux时间和字符转换函数
//linux操作系统提供的时间操作函数。struct timeval { time_t tv_sec; /* seconds */ suseconds_t tv_usec; /* microseconds */};time_t time(time_t *t);truct tm { int tm_sec; /* seconds */原创 2014-09-03 23:07:54 · 1730 阅读 · 0 评论 -
linux c string库函数总结
#include忽略大小比较两个字符是否相当。如果s1>s2返回一个大于0的数。如果s1 = s2 返回一个0。如果s1/**********************************************************************************************************************************/原创 2014-11-08 23:26:24 · 3808 阅读 · 0 评论 -
c 语言函数可变参数的处理
c语言函数可变参数处理和使用原创 2014-10-14 19:53:04 · 1204 阅读 · 0 评论 -
ubuntu14.04 配置.linux 查看源代码神器,ctags+vim
如何查看linux下的源代码:以前我会再linux安装一个source insight,但是安装这儿需要有安装这个wine,才能安装上去.ctags+vim的组合: 今天介绍另一种linux下查看源代码的工具就是.ctags+vim的组合. 如果没有安装vim工具的话.可以使用 sudo apt-get install vim 进行安装. 如果没有安装ctags工具的话.原创 2014-12-07 11:30:36 · 4793 阅读 · 0 评论 -
F4107Usart数据处理程序
Crotex-M4 Usart自动发送数据的MCU数据处理原创 2014-09-19 21:33:57 · 1064 阅读 · 0 评论