
Linux
文章平均质量分 78
dcw142857
一直在学习的路上
展开
-
STM32单片机的学习方法(方法大体适用所有开发版入门)
1,一款实用的开发板。这个是实验的基础,有时候软件仿真通过了,在板上并不一定能跑起来,而且有个开发板在手,什么东西都可以直观的看到,效果不是仿真能比的。但开发板不宜多,多了的话连自己都不知道该学哪个了,觉得这个也还可以,那个也不错,那就这个学半天,那个学半天,结果学个四不像。倒不如从一而终,学完一个在学另外一个。2,两本参考资料,即《STM32 参考手册》和《Cortex-M3 权威指南》。《STM32 参考手册》是 ST 出的官方资料,有 STM32 的详细介绍,包括了 STM32 的各种寄存器定义转载 2021-02-24 16:37:29 · 3031 阅读 · 0 评论 -
c语言编程基础入门必备资料
数据类型基本数据类型类型名称说明char字符类型存放字符的ASCII码int整型存放有符号整数short短整型存放有符号整数long长整型存放有符号整数long long存放有符号整数float单精度浮点型存放精度不高的小数double双精度浮点型存放精度较高的小数除了这些基本数据类型之外,还有一些复合类型,后面会慢慢讲到.表格中最常用到的四种类型是 char int float 和double.类型介绍根据存放类型的不同,可以大致分为字符型,整型和浮点型整型存放整数的类型 比如0 1 2转载 2021-02-20 16:46:13 · 546 阅读 · 0 评论 -
解决Linux 下server和client 通过TCP通讯:accept成功接收却报错的问题
今天在写简单的TCP通讯例子的时候,遇到了一个问题:server 和client能够连接成功,并且client也能够正常发送,但server就是接收不到,在网上搜索一番后,终于解决了问题。在这里整理如下:大家要注意的是,一个server端可以连接多个client端,server端的accept()函数负责等待并接收client的连接请求,而且accept()函数将不同client端的sockfd作为返回值。为了保证接收到对应的client端数据,所以在client连接成功且使用recv()函数接收数据的时转载 2020-12-30 15:32:32 · 885 阅读 · 0 评论 -
零基础小白看过来要如何利用指针间接赋值
我们都知道,指针是指向一段内存空间的。而这个内存空间也可以存放下一个内存空间的地址,这样一级级的传递下去,就变成了多级指针。在C语言中,多级指针是经常会用到的。多级指针像一把双刃剑,有利也有弊。你能够用它完成一些奇淫技巧,也会遇到一些不可捉摸的错误。其中,指针有一个非常重要的作用:间接赋值。你能够通过n级指针去修改n-1级指针的内容,甚至直接修改指针所指向的内存空间例如:你在main函数里面声明了一个字符串指针,然后你想通过调用一个外部函数来修改它。这个时候,你就可以将这个字符串指针的地址传递给函转载 2020-12-24 15:38:46 · 262 阅读 · 1 评论 -
野指针和free总结超有用
在C语言项目中,经常会遇到需要程序员手动分配内存的地方。这样做能够节省大量的内存空间,也让程序更加灵活。只要你有一定的基础,那么肯定用过 malloc 或者 ralloc和free的组合。这个组合使用起来有一个需要注意的地方,不知道你有没有发现。野指针是什么?根据百度百科的说法,野指针是指 指向一个已删除的对象或未申请访问受限内存区域的指针.我这里是这样理解的,野指针就是指向的内存区域不合法,这里的不合法主要包括以下几个方面:所指向的内存未申请2.所指向的内存被释放当你访问一个未申请的内存区域转载 2020-12-23 16:42:55 · 472 阅读 · 1 评论 -
c语言如何利用指针间接赋值
我们都知道,指针是指向一段内存空间的。而这个内存空间也可以存放下一个内存空间的地址,这样一级级的传递下去,就变成了多级指针。在C语言中,多级指针是经常会用到的。多级指针像一把双刃剑,有利也有弊。你能够用它完成一些奇淫技巧,也会遇到一些不可捉摸的错误。其中,指针有一个非常重要的作用:间接赋值。你能够通过n级指针去修改n-1级指针的内容,甚至直接修改指针所指向的内存空间例如:你在main函数里面声明了一个字符串指针,然后你想通过调用一个外部函数来修改它。这个时候,你就可以将这个字符串指针的地址传递给函转载 2020-12-17 16:32:34 · 361 阅读 · 0 评论 -
零基础入门单向链表的:增,删,改,查
该链表拥有一个头节点,头节点中的数据域用来存储链表的节点个数,指针域指向第一个数据节点。以下是代码。链表结构体定义:struct ListNode{int num;struct ListNode* next;};typedef struct ListNode Node; //重命名为Node创建头节点Node *head = (Node *)malloc(sizeof(Node)); //创建头节点增加节点函数:在链表尾部增加一个节点int AddNode(Node *head)转载 2020-12-09 10:04:48 · 165 阅读 · 0 评论 -
C语言基础知识总结大全
1.入门程序#include <stdio.h>int main(){printf(“Hello World!”);return 0;}2.数据类型数据类型:1.基本数据类型:1.1. 整型:int 4个字节1.2. 字符型:char 1个字节1.3. 实型(浮点型)1.3.1.单精度型:float 4个字节1.3.2.双精度型:double 8个字节2.构造类型:2.1.枚举类型2.2.数组类型2.3.结构体类型2.4.共用体类型3.指针类型:4.空类转载 2020-12-08 13:53:50 · 1516 阅读 · 0 评论 -
C/C++编程笔记:浪漫流星雨装b表白程序
作为一个未来可能会成为一个专业程序员的小伙们,不知道你们现在学到哪里了,学了点东西之后有没有想在你女朋友面前装个大大的b呢,今天小编就给你一个机会来研究一下下边的代码吧,保证大写的N,当然大佬是排除在外的!直接源码分享:#include#include //图形库:easyX201905#include#include#define MAXSTAR 1314#define MAXMETEOR 520//结构体//几个星星:1000struct Star{int x, y;int c转载 2020-11-26 15:46:11 · 2810 阅读 · 0 评论 -
零基础学习c语言必背的18个有用的经典程序
1、/输出99口诀。共9行9列,i控制行,j控制列。*/#include “stdio.h”main(){int i,j,result;for (i=1;i<10;i++){ for(j=1;j<10;j++){result=i*j;printf("%d*%d=%-3d",i,j,result);/-3d表示左对齐,占3位/}printf("\n");/每一行后换行/}}2、/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一转载 2020-10-21 16:16:21 · 812 阅读 · 0 评论 -
链表实例
下图为最一简单链表的示意图:第 0 个结点称为头结点,它存放有第一个结点的首地址,它没有数据,只是一个指针变量。以下的每个结点都分为两个域,一个是数据域,存放各种实际的数据,如学号 num,姓名 name,性别 sex 和成绩 score 等。另一个域为指针域,存放下一结点的首地址。链表中的每一个结点都是同一种结构类型。指针域: 即在结点结构中定义一个成员项用来存放下一结点的首地址,这个用于存放地址的成员,常把它称为指针域。在第一个结点的指针域内存入第二个结点的首地址,在第二个结点的指针域内又存放第转载 2020-10-20 09:20:10 · 337 阅读 · 0 评论 -
零基础入门c语言函数之递归函数
今天来总结一下关于递归函数的使用方面的问题。递归函数就是在函数使用的时候自己调用自己,层层调用,来实现你想要的功能。有两个最常用的例子,我们来写一下。(1)计算阶乘#includeint factorial(int n); // 函数声明(阶乘)int main(void){int a = 5;printf("%d的阶乘是:%d.\n", a, factorial(a));return 0;}int factorial(int n){if (n < 1){printf(转载 2020-10-10 11:06:01 · 231 阅读 · 0 评论 -
初学Linux如何才能跟好的学习找到自己的学习路线
本节旨在介绍对于初学者如何学习 Linux 的建议,在这里不具体分析Linux的学习节点只分析对于零基础的伙伴的学习方法。那么如果你已经确定对 Linux 产生了兴趣,那么接下来我们介绍一下学习 Linux 的方法。如何去学习学习大多类似庖丁解牛,对事物的认识一般都是由浅入深、由表及里的过程,循序才能渐进。学习 Linux 同样要有一定的顺序和方法,当然这也是你学习本教程的意义。如果你是初学者,那么建议按照本教程的顺序阅读,不要跳跃,欲速则不达,揠苗也不见得能助长。另外,强烈建议做好读书笔记,边看边记转载 2020-09-14 09:37:19 · 126 阅读 · 0 评论 -
c语言指针难吗?看c语言大神怎样给你解释
C语言指针说难不难但是说容易又是最容易出错的地方,因此不管是你要做什么只要用到C指针你就跳不过,今天咱们就以十九个例子来给大家简单的分析一下指针的应用,最后会有C语言视频资料提供给大家更加深入的参考。进入今天的主题,要了解指针,多多少少会出现一些比较复杂的类型,所以我先介绍一下如何完全理解一个复杂类型,要理解复杂类型其实很简单,一个类型里会出现很多运算符,他们也像普通的表达式一样,有优先级,其优先级和运算优先级一样,所以我总结了一下其原则:从变量名处起,根据运算符优先级结合,一步一步分析.下面让我们转载 2020-09-04 17:07:06 · 836 阅读 · 0 评论 -
小白福音这里教你嵌入式ARM环境搭建(必定一次成功)
一、选择合适的交叉编译工具链找到与自己目标开发平台(Soc)尽可能相匹配的交叉编译工具链(arm-linux-gcc)例如:开发S5PV210平台相关的程序就可以用arm-2009q3这个版本,因为三星官方在开发S5pv210时就使用这个版本的交叉编译工具链,这样选择就尽可能大的相匹配从而避免开发过程中因工具而引发的潜在问题。二、交叉编译工具链的安装1、选择合适的安装路径在虚拟机中,/usr/local/路径下创建一个文件夹arm,即将交叉编译工具链安装在/usr/local/arm路径下。这个转载 2020-08-28 10:36:19 · 325 阅读 · 0 评论 -
如何更好的从单片机过渡到嵌入式linux领域(有效)
就现在的行业发展来看只会单片机已经不吃香了并且在薪资待遇方面来看的话单片机的收入限制性太强可能工作很多年之后发现没有了成长空间,因此逐渐转到嵌入式Linux这个方向是越来越多的人的一个选择,那么接触了那么长时间单片机之后又要怎样从单片机领域转到嵌入式Linux呢?下面我们就来了解一下要如何从单片机到嵌入式linux我们需要做什么呢!提到单片机很多人都很觉得不陌生,大街小巷上面电子产品都用到。近几年随着嵌入式的发展,做单片机的一帮家伙突然觉得大祸临头一般发现自己熟悉掌握的单片机慢慢被嵌入式超越了,那么嵌入式转载 2020-08-27 09:31:07 · 912 阅读 · 0 评论 -
入门应该如何学习Linux
本节旨在介绍对于初学者如何学习 Linux 的建议。如果你已经确定对 Linux 产生了兴趣,那么接下来我们介绍一下学习 Linux 的方法。如何去学习学习大多类似庖丁解牛,对事物的认识一般都是由浅入深、由表及里的过程,循序才能渐进。学习 Linux 同样要有一定的顺序和方法,当然这也是你学习本教程的意义。如果你是初学者,那么建议按照本教程的顺序阅读,不要跳跃,欲速则不达,揠苗也不见得能助长。另外,强烈建议做好读书笔记,边看边记,边练习边思考,“学而不思则罔,思而不学则殆”,比勤奋更重要的是思考的能力转载 2020-06-29 09:48:52 · 138 阅读 · 0 评论 -
Linux多线程编程
线程?为什么有了进程还需要线程呢,他们有什么区别?使用线程有什么优势呢?还有多线程编程的一些细节问题,如线程之间怎样同步、互斥,这些东西将在本文中介绍。我见到这样一道面试题:是否熟悉POSIX多线程编程技术?如熟悉,编写程序完成如下功能:1)有一int型全局变量g_Flag初始值为0;2) 在主线称中起动线程1,打印“this is thread1”,并将g_Flag设置为13) 在主线称中启动线程2,打印“this is thread2”,并将g_Flag设置为24) 线程序1需要在线程2退出后转载 2020-06-23 09:22:13 · 179 阅读 · 0 评论 -
Linux有什么可取之处竟如此受欢迎
什么是Linux?Linux是一个操作系统软件。和Windows不同的是,Linux是一套开放源代码程序的、并可以自由传播的类Unix操作系统,它是一个支持多用户、多任务、多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux优点:1高安全性——Linux 系统下除非用户以 root 身份登录,否则程序无法更改系统设置和配置。因此,下载的文件/恶意软件的权限转载 2020-06-16 13:10:42 · 141 阅读 · 0 评论 -
初学Linux需要掌握的一些基础
#LINUX基础学习##命令行下的基础知识Linux区分英文的大小写。date :查看时间 cal:查看日历[Tab] 热键 :可以自动补全命令名和文件名[Ctrl]+C 热键 :可以中断正在运行的程序和文件[Ctrl]+D 热键 :可以退出用户登录who :可以查看当前的在线用户ps –aux :查看后台执行的程序信息shutdown : 关机reboot :重启sync :内存数据写入磁盘。防止突然断电情况的发生,可以在任务执行中 执行sync,将暂存在内存的数据写入硬盘中。用户转载 2020-06-12 10:48:26 · 236 阅读 · 0 评论 -
Linux多线程编程实例解析
Linux系统下的多线程遵循POSIX线程接口,称为 pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,连接时需要使用库libpthread.a。顺便说一下,Linux 下pthread的实现是通过系统调用clone()来实现的。clone()是 Linux所特有的系统调用,它的使用方式类似fork,关于clone()的详细情况,有兴趣的读者可以去查看有关文档说明。下面我们展示一个最简单的 多线程程序 pthread_create.c。一个重要的线程创建函数原型:#incl转载 2020-06-03 10:29:42 · 150 阅读 · 0 评论 -
从四个方向分析我们可以从linux学到什么
我们真正关心的是自身可以从这个生态圈中获得些什么?说得更直白一点就是,我们可以从linux系统上面学到点什么,它对我们个人的成长和发展有哪些积极的因素。个人觉得,完全可以通过下面四个维度并结合自己的兴趣进行选择和判断。(1)熟练学习linux、配置linux和使用Linux2011年有一本书特别火,长期位列在热销排行榜上,这本书就是《鸟哥的linux私房菜》。这本书以centos为例,讲了很多的内容,比如说系统安装、常见配置、软件更新、特殊命令的用法、服务器的配置等等。整本书的内容很厚,而且内容是一版再转载 2020-05-29 09:51:46 · 326 阅读 · 0 评论 -
Shell脚本学习笔记之(自动填充函数模板)
其实,vii 是我写的一个脚本,跟 vi 没半毛钱关系,只不过借用一下这个名字而已。那这个脚本长什么样呢?look:下面听我详细为你解析上面的代码,来看第1行:#!/bin/bash这是Shell脚本的格式,没啥好讲的。再来看第3-6行:if [ $# -eq 0 ]thenvifi这是是判断执行 vii 的时候带不带参数,假如不带参数,那么就直接启动 vi再来看第8-16行...转载 2019-12-04 11:14:10 · 191 阅读 · 0 评论 -
零基础学习Linux必会的60个常用命令
Linux必学的60个命令Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者...转载 2019-11-29 10:20:12 · 641 阅读 · 0 评论