linux C 语言快速开发实战
文章平均质量分 94
linux C 语言开发的感悟和记录
ajassi2000
架构工程师,在嵌入式-上位机-Web开发-移动端-电气软件之间相互切换,在这里纪录一下软件的工作学习经历,如果对你能有帮助,我会很高兴。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
linux C 语言开发 (十三) 进程间通讯--信号量
本文介绍了Linux下C语言开发中进程间通信的信号量机制。首先解释了信号量的基本概念:用于协调进程对共享资源的访问,保证临界区同一时间只有一个线程访问。详细讲解了二进制信号量的P/V操作原理,并列举了SystemV信号量的三个关键函数:semget()创建信号量集、semctl()初始化信号量、semop()执行P/V操作。通过示例代码展示了父子进程使用信号量实现同步的过程:父进程打印step1后等待信号量,子进程打印step2后休眠2秒再释放信号量,唤醒父进程继续执行。最后给出了完整的C语言实现代码,演示原创 2025-09-20 09:05:10 · 871 阅读 · 0 评论 -
linux C 语言开发 (十) 进程间通讯--信号
本文记录了Linux C语言开发中进程间通讯(IPC)的信号使用,主要内容包括:1.信号介绍,解释信号的三种产生方式;2.信号发送,介绍kill()、raise()、alarm()等函数的使用方法;3.信号接收,说明如何让进程持续运行以接收信号;4.信号处理,详细讲解signal()函数的使用和信号处理过程。通过示例代码演示了信号的发送、接收和处理流程,为Linux系统编程中信号机制的使用提供了实践指导。原创 2025-09-13 23:18:50 · 913 阅读 · 0 评论 -
linux C 语言开发 (十二) 进程间通讯--消息队列
本文记录了使用C语言在Linux系统下进行进程间通信(IPC)的学习过程,重点介绍了System V IPC中的消息队列机制。文章详细讲解了消息队列的基本概念、常用函数(如ftok()、msgget()、msgsnd()、msgrcv()和msgctl())以及使用方法,并提供了完整的示例代码(msgWrite.c和msgRead.c)演示消息队列的创建、发送和接收过程。此外,文章还整理了Linux C语言开发和Android应用开发的相关学习资源链接。原创 2025-09-16 19:27:38 · 1036 阅读 · 0 评论 -
linux C 语言开发 (十一) 进程间通讯--共享内存
本文介绍了Linux下使用C语言实现进程间共享内存通信的方法。首先概述了共享内存的基本原理,即允许不同进程访问同一物理内存区域。接着详细讲解了关键系统调用函数:shmget()创建共享内存、ftok()生成key值、shmat()挂接内存、shmdt()解除关联、shmctl()销毁内存等。文中提供了完整的示例代码,演示了父子进程通过共享内存传递数据的过程:父进程写入"hello",子进程读取并打印。最后附有相关开发系列文章的链接,涵盖Linux C开发、Android应用开发、.NET原创 2025-09-16 18:50:08 · 775 阅读 · 0 评论 -
linux C 语言开发 (九) 进程间通讯--管道
本文记录了Linux C语言开发中的进程间通信(IPC)机制,重点介绍了匿名管道和有名管道的使用。匿名管道适用于有亲缘关系的进程,通过pipe()函数创建;有名管道通过mkfifo()创建,允许无关联进程通信。文章详细说明了两种管道的创建步骤、函数参数及示例代码,并对比了其特点:匿名管道是临时的内存通信,而有名管道以文件形式存在文件系统中。最后展示了管道的实际应用场景和演示效果,为Linux系统编程提供了实用参考。原创 2025-09-13 21:00:15 · 703 阅读 · 0 评论 -
linux C 语言开发 (八) 进程基础
本文记录了Linux C语言开发的学习历程,重点介绍了进程管理的相关知识。主要内容包括:1)进程创建机制,通过fork()系统调用创建子进程;2)exec函数族的使用方法,用于执行新程序;3)常用进程管理命令ps和kill;4)进程类型如孤儿进程、僵尸进程和守护进程的特点及处理方法。文章还提供了相关的代码示例和命令用法,并附有系列学习资源的链接索引。原创 2025-09-12 21:38:47 · 1231 阅读 · 0 评论 -
linux C 语言开发 (七) 文件 IO 和标准 IO
本文介绍了Linux下文件IO与标准IO的区别及应用。文件IO是Linux系统直接接口,不带缓存;标准IO是C库函数,带缓冲区。文章详细讲解了open()、read()、write()、close()等文件IO函数的使用方法,并提供了一个完整示例:将文件1的前32个字符写入文件2。通过gcc编译后,程序成功实现了文件内容复制功能,验证了文件IO操作的可行性。文中还提供了系列开发教程链接,涵盖Linux C开发、Android应用开发等内容。原创 2025-09-12 20:15:29 · 1173 阅读 · 0 评论 -
linux C 语言开发 (六) 程序的编辑和编译(vim、gcc)
本文记录了Linux系统下使用C语言开发的流程和要点,重点介绍了vim编辑器和gcc编译器的使用方法。文章首先提供了从Linux C到Android App开发的系列教程链接,然后详细讲解了vim的基本操作,包括:1)四种模式切换;2)光标移动、文本编辑、删除复制粘贴等常用命令;3)搜索替换、保存退出等操作。同时介绍了使用gcc编译C程序的基本步骤,包括查看版本、编译命令和执行方法。文章旨在帮助开发者快速掌握Linux环境下C语言开发的必备技能。原创 2025-09-11 20:34:14 · 1171 阅读 · 0 评论 -
linux C 语言开发 (五) linux系统目录结构
摘要:本文记录了Linux系统目录结构的学习笔记,旨在帮助开发者快速回顾Linux开发中的重要知识点。文章详细介绍了根目录下21个主要子目录的用途和权限设置,包括/bin(系统命令)、/boot(启动文件)、/etc(系统配置)、/home(用户目录)等关键目录的功能说明。同时提供了从Linux C开发转向Android App和.NET MVC开发的系列教程链接,涵盖环境搭建、工程结构、GUI开发、网络通讯等内容,为开发者技术转型提供参考路径。原创 2025-09-10 07:34:35 · 1307 阅读 · 0 评论 -
linux C 语言开发 (四) linux系统常用命令
本文记录了Linux C语言开发的学习经历,整理了开发流程和常用命令。主要内容包括Linux系统开发基础命令(如ls、cd、mkdir等文件操作命令,ifconfig、ping等网络命令,以及tar压缩解压命令),并介绍了使用VSCode在Linux云服务器或本地虚拟机进行开发调试的方法。文章还提供了从Linux C开发到Android应用(Java)和.NET MVC开发的系列教程链接,涵盖开发环境搭建、工程结构、界面设计、数据存储、网络通信等主题,适合开发者参考学习。原创 2025-09-07 21:39:26 · 548 阅读 · 0 评论 -
linux C 语言开发 (三) 建立云服务器
本文记录了使用C语言进行Linux开发学习的过程,重点介绍了如何搭建云服务器环境进行远程编程。主要内容包括:1)购买百度智能云服务器并选择Debian系统;2)设置服务器实例和修改密码;3)使用SmartTerm进行SSH登录测试;4)配置VSCode远程连接,处理连接失败问题(如使用ssh-keygen命令删除旧记录)。文章还提供了Linux C到Android APP开发(12章)和.NET MVC开发(5章)的系列教程链接,涵盖了从环境搭建到功能实现的完整学习路径。原创 2025-09-06 19:40:35 · 831 阅读 · 0 评论 -
linux C 语言开发 (二) VsCode远程开发 linux
本文介绍了如何通过Vscode的Remote-SSH插件简化Linux开发流程。传统Linux开发需要MobaXterm、Vim和Filezilla三个工具配合使用,操作复杂。Vscode将远程终端控制、代码编辑和文件传输三大功能集成在一个界面中,显著提高开发效率。文章详细说明了Vscode的安装、Remote-SSH插件的配置方法,以及如何通过SSH连接远程服务器。同时展示了Vscode的多窗口操作界面,支持直接拖放文件上传和右键下载功能,解决了文件传输问题。通过Vscode的集成开发环境,开发者的工作效原创 2025-06-11 23:33:56 · 959 阅读 · 0 评论 -
linux C 语言开发 (一) Window下用gcc编译和gdb调试
在win10系统下,我希望可以练习,gcc和gdb的指令。由于我有QT软件,不需要单独安装mingw530_32,对环境变量进行了配置,实现了gcc和gdb的调试。6 .break 行号 if 条件 当条件为真时,在指定行号断点生效。5 .break 文件名:行号 在指定文件的指定行添加断点。3 .break(b) 函数名 在某函数入口处添加断点。10.next(n) 单步运行程序(不进入子函数)11.step(s) 单步运行程序(进入子函数)4 .break 行号 在指定行添加断点。原创 2023-07-15 14:41:15 · 1883 阅读 · 1 评论
分享