linux
文章平均质量分 56
WangLanguager
喜欢IT,喜欢编程,希望遇到更多志同道合的朋友!
展开
-
LISP语言构造过程抽象过程
为什么要用LISP语言来讨论程序设计的基础?原创 2023-06-05 22:30:00 · 506 阅读 · 0 评论 -
Linux上的常用软件
LibreOffice: 免费的办公套件,包括 Writer(文字处理)、Calc(电子表格)、Impress(演示文稿)等。VLC:免费的视频播放器,支持各种音频和视频格式,包括 DVD 和流媒体。Screen:用于在远程终端中保持会话的工具,允许窗口分离和重新连接。Kdenlive:免费的视频编辑软件,简单易用并带有许多特效。Krita:免费的数字绘图应用,可以创建绘画、漫画和动画。Vim:Vi 的改进版,免费且可在终端中运行的文本编辑器。Git:免费的版本控制系统,适用于协作开发。原创 2023-05-25 22:15:00 · 2060 阅读 · 0 评论 -
gcc 简介
gcc与g++,当程序中出现using namespace std等带有c++特性的语句时,如果用gcc编译时,必须显式地指明这个程序要用c++编译库编译,而g++可以直接编译。支持ansi/iso语法标准,取消gnu所有与ansi冲突的语法扩展。定义指定的宏,使它能够通过源码中的#ifdef进行检验。tc++3 编译该段代码后,大小为:7.8K。bc45编译该段代码后,大小为:53.8k。g++ 编译该段代码后,大小为:4.6K。vc6编译该段代码后,大小为:184k。原创 2023-02-01 22:30:00 · 1270 阅读 · 0 评论 -
编辑器VI功能介绍
(2)插入方式:'i',从光标前开始插入文本。(1)新增方式:'a',从光标后开始输入文本。:1, $s/bash/sch/g 把整个文件中的bash替换为sch。(3)按行插入方式:'o',从光标所在行下新增一行并进入输入模式。1、Linux编辑器:ex、edit、ed、vi、emacs。(1)命令模式(指令模式):此模式下的按键当做指令来处理。2、如果想退出输入模式,按ESC键即可退出,并进入命令模式。(2)R,替换当前字符后的一系列字符,替换后变为输入模式。原创 2022-11-19 17:55:41 · 264 阅读 · 0 评论 -
嵌入式开发工具链概述
7、gdb:GNU调试器,可以用来调试C、C++和其他语言编写的程度。(2)完备的工具链:GCC、binutils、gdb、GNU make、patch、CVS、开发库。(4)nm:列出目标文件中的符号。用目标机的汇编语言编写的源代码文件——》交叉汇编器——》目标文件——》链接器。(3)软件工程工具:用于协助多人开发或大型软件项目管理的软件,如:make等。(1)支持C、C++、ADA、Java、Fortran、PASCAL等语言。6、binutils:是一组二进制工具程序集合,是辅助GCC的主要软件。原创 2022-11-19 22:00:00 · 1847 阅读 · 0 评论 -
Linux的网络命令
3、常用的网络命令:ping、ifconfig、ifup、ifdown、netstat、route、traceroute、host、nslookup、telnet。设置第一块网卡的ip地址:ifconfig eth0 192.168.0.1。(1)功能说明:ping命令使用ICMP协议,用来检测到远程主机的网络连通性。(2)例:显示当前活动接口状态:/sbin/ifconfig。2、Linux提供了一系列高效率的网络诊断程序和设置命令。1、ping:检测主机的连通性。2、ifconfig命令。原创 2022-11-17 22:00:00 · 4604 阅读 · 1 评论 -
Linux的基本操作
14、var:各种服务器的数据文件、日志、假脱机打印系统的打印队列数据等。2、Linux文件系统:ext2、ext3、reiserFS等,目录树。fat32、ntfs,分区、盘符。1、bin:普通用户常用例程,例如:date命令。12、sbin:根用户用于系统管理的可执行文件。4、lib:内核和应用程序所用的库文件和模块。7、boot:Linux内核、开机配置文件。8、etc:与系统硬件和软件有关的配置文件。9、media:光盘、软盘挂载点。3、home:普通用户的主目录。一、Linux的文件系统。原创 2022-11-10 22:30:00 · 458 阅读 · 0 评论 -
Linux的Shell
(5)bash:sh兼容,包含csh和ksh最有用的功能,具有命令历史记忆功能,有作业控制功能,有shell程序设计能力。(1)sh(Bourne Shell, 1979,Unix版本7)(3)Ksh(Korn Shell,商业软件,sh的增强版)命令1 | 命令2 | 命令3。(3)Shell启动子进程,寻找应用程序并传递参数。(1)登录或者启动终端,显示Shell提示符。(5)通知Shell执行完毕,子进程终止。(2)输入Shell命令并敲回车键。(1)从控制台输入Shell命令。原创 2022-10-22 22:30:00 · 673 阅读 · 0 评论 -
Linux简介
(2)RedHat:支持的硬件平台多,优秀的安装接口,独特的RPM安装方式,丰富的软件,方便的系统管理接口,完备的文档。现在操作系统发展方向是微内核,Linux采用的是宏内核,Linux过分依赖芯片的体系结构。1、GNU的历史:理查德.斯托曼、自由软件、GNU的含义,GPL、GNU/Linux。(4)Linux:1991年,芬兰,赫尔辛基大学,Linus Torvalds发明。(3)嵌入式领域,Linux的源代码公开,且可裁剪,所以很适合应用于嵌入式领域。(1)Linux是一个功能强大的完备的操作系统。原创 2022-09-03 22:30:00 · 331 阅读 · 0 评论 -
重命名文件夹下的所有子文件夹名,重命名子文件夹下的所有子文件夹名
2、想要重命名子文件夹下的所有子文件夹名称,所有的子文件夹的子文件夹名称都加上子文件夹的名称前缀。1、想要重命名文件夹下的所有子文件夹的名称,所有的子文件夹的名称都加上文件夹的名称前缀。......原创 2022-08-06 21:00:00 · 964 阅读 · 0 评论 -
使用Git bash软件计算文件MD5值
有时候需要计算文件的MD5值,来保证文件的完整性,有很多的软件来计算MD5值。此处介绍使用Git bash软件计算文件MD5值的方法。1、首先下载Git Bash软件2、下载完成后,进行安装3、安装完成后,打开该软件4、然后输入md5sum.exe 命令,命令后面加上文件所在路径5、按下Enter回车键,就可以得到文件的MD5值...原创 2022-01-04 09:50:42 · 3175 阅读 · 0 评论 -
嵌入式文件系统YAFFS简介
YAFFS(Yet Another Flash File System)是第一个专门为NAND Flash存储器设计的嵌入式文件系统,适用于大容量的存储设备;并且是在GPL(General Public License)协议下发布的,可在其网站免费获得源代码。 YAFFS 是基于日志的文件系统,提供磨损平衡和掉电恢复的健壮性。它还为大容量的Flash 芯片做了很好的调整,针对启动时间和RAM 的使用做了优化。它适用于大容量的存储设备,已经在Linux 和WinCE 商业产品中使用。...原创 2022-01-03 14:55:49 · 523 阅读 · 0 评论 -
Linux 中的Core Dump设置与使用
当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做Core Dump(中文有的翻译成“核心转储”)。我们可以认为 core dump 是“内存快照”,但实际上,除了内存信息之外,还有些关键的程序运行状态也会同时 dump 下来,例如寄存器信息(包括程序指针、栈指针等)、内存管理信息、其他处理器和操作系统状态和信息。core dump 对于编程原创 2017-06-06 15:54:04 · 986 阅读 · 0 评论 -
NCURSES程序设计之皇后问题
该程序是用NCURSES库实现的皇后问题,可以将算法结果以图形方式显示,并可遍历所有结果编译时需要加上NCURSES链接库, gcc -o 源代码如下,可在linux系统中编译后直接运行#include #include #define QUEEN_CHAR '*'int *nqueens(int num);int place(int c原创 2017-07-18 22:29:50 · 423 阅读 · 0 评论 -
NCURSES程序设计之魔数方阵
魔数方阵简单的说,就是将连续整数1,2,3....,n 的数字,依特别之顺序,排在方阵里.使每一行的数,每一列的数或对角线位置的数各自相加,所得的和皆均为相同.#include #include #define STARTX 9#define STARTY 3#define WIDTH 6#define HEIGHT 4#define TRACE_VA原创 2017-07-21 10:08:56 · 442 阅读 · 0 评论 -
对开发者有用的英文网站合集
问答社区Stack Overflow : subscribe to their weekly newsletter and any other topic which you find interestingQuora : A place to share knowledge and better understand the worldLearn Anything : Com转载 2017-07-15 21:15:14 · 1851 阅读 · 0 评论 -
为什么linux下多线程程序如此消耗虚拟内存
最近游戏已上线运营,进行服务器内存优化,发现一个非常奇妙的问题,我们的认证服务器(AuthServer)负责跟第三方渠道SDK打交道(登陆和充值),由于采用了curl阻塞的方式,所以这里开了128个线程,奇怪的是每次刚启动的时候占用的虚拟内存在2.3G,然后每次处理消息就增加64M,增加到4.4G就不再增加了,由于我们采用预分配的方式,在线程内部根本没有大块分内存,那么这些内存到底是从哪来的呢?让转载 2017-07-15 21:12:14 · 1114 阅读 · 0 评论 -
Linux内核升级方法与步骤
1. 查看linux内核版本:# uname -r2.6.18-194.el52. 下载新的内核版本:去官网上下载最新的内核版本和对应的补丁:https://www.kernel.org/选的是3.2.14#wget -c http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.2.14.tar.bz2原创 2017-07-15 18:59:58 · 2056 阅读 · 0 评论 -
ncurses程序设计介绍
一,使用鼠标在ncurses中使用鼠标需要几点注意,终端必须在非规范模式下接受鼠标事件,另外,应该有功能键,因为没有他,xterm不会正确的报告鼠标事件。int raw(void);int keypad(WINDOW *win, bool bf);这两个函数用来完成上面要求的工作。鼠标事件本身通过MEVENT结构来捕获,其定义如下:typedef struct {转载 2017-06-27 14:05:14 · 586 阅读 · 0 评论 -
linux中的并发基础知识
linux进程进程是一个执行中的程序实例。系统中的每个程序都运行在某个进程的上下文(context)中。上下文是由程序正确运行所需的状态组成。这个状态包括存放在存储器中的程序的代码,数据,栈,通用目的寄存器的内容,程序计数器,环境变量,以及打开文件描述符的集合. 进程可以抽象为一个独立的逻辑控制流 它提供假象,好像我们的程序独占地使用处理器。一个私有的地址空间 它提供假象,原创 2017-06-12 11:17:39 · 463 阅读 · 0 评论 -
linux 系统信息查看命令
查看系统版本:lsb_release -a[root@localhost /]# lsb_release -aLSB Version: :core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarchDistributor ID: C原创 2017-06-07 08:46:20 · 517 阅读 · 0 评论 -
NCURSES程序设计之拼图游戏
拼图游戏是取n*n-1个数,组成n*n的方阵,然后对n*n-1个数从小到大依次排列,如果排列完成,则游戏结束。本程序用LINUX下的NCURSES写成,先对n*n-1个数进行随机排列,然后通过移动白板来实现序列的重组与排列。#include #define STARTX 9#define STARTY 3#define WIDTH 6#define H原创 2017-07-22 20:38:29 · 681 阅读 · 0 评论 -
基于 CentOS 搭建 FTP 文件服务
转载地址:https://cloud.tencent.com/developer/labs/lab/10002安装并启动 FTP 服务任务时间:5min ~ 10min安装 VSFTPD使用 yum 安装 [vsftpd]:yum install vsftpd -yvsftpd 是在 Linux 上被广泛使用的 FTP 服务器,根据其官网介绍,它可能是 UNI...转载 2018-10-31 09:58:22 · 288 阅读 · 0 评论 -
详解大端模式和小端模式
转载地址:https://www.cnblogs.com/little-white/p/3236548.html 一、大端模式和小端模式的起源 关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大...转载 2019-01-25 16:18:49 · 2587 阅读 · 0 评论 -
make clean与make distclean的区别
make clean仅仅是清除之前编译的可执行文件及配置文件。 而make distclean要清除所有生成的文件。Makefile在符合GNU Makefiel惯例的Makefile中,包含了一些基本的预先定义的操作:make根据Makefile编译源代码,连接,生成目标文件,可执行文件。make clean清除上次的make命令所产生的obj原创 2014-08-07 13:10:05 · 634 阅读 · 0 评论 -
Apache License Version 2.0中文翻译版
Apache License Version 2.01.定义"许可证"是指根据本文档第1到第9部分关于使用、重生成和分发的术语和条件。"许可证颁发者"是指版权所有者或者由版权所有者批准的授权许可证的实体。"法律实体"是指实施实体和进行控制的所有其它实体受该实体控制,或者受该实体集中控制。根据此定义,"控制"是指(i)让无论是否签订协议的上述实体,进行指导或管理的直...原创 2019-09-18 09:00:43 · 2476 阅读 · 0 评论 -
51单片机之继电器实验
一、继电器(relay)的工作原理和特性 当输入量(如电压、电流、温度等)达到规定值时,使被控制的输出电路导通或断开的电器。可分为电气量(如电流、电压、频率、功率等)继电器及非电气量(如温度、压力、速度等)继电器两大类。具有动作快、工作稳定、使用寿命长、体积小等优点。广泛应用于电力保护、自动化、运动、遥控、测量和通信等装置中。 继电器是一种电子控制器件,它具有控制系统(又称输入回...原创 2019-05-18 10:16:25 · 22091 阅读 · 0 评论 -
Linux中通过修改MTU值来修改网速
通过ADSL宽带“猫”上网,系统为RedHat 9.0,但在上网时有些网页打不开,而且网速不快。这跟MTU值有关系,将它修改到适当的值即可。在Windows下可以通过修改注册表来修改MTU值,可在Linux下面又该如何做呢? 其实只需要一个简单的命令即可: # ifconfig eth0 mtu number 其中“number”为MTU的数值...原创 2019-03-27 21:33:21 · 2698 阅读 · 0 评论 -
进程的三种状态
1、就绪(Ready)状态:当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行, 这时的进程状态称为就绪状态。2、执行(Running)状态:当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行 ...原创 2019-03-19 09:07:47 · 1499 阅读 · 0 评论 -
目前国内在ARM CPU上广泛采用的三种嵌入式操作系统浅析
转载地址:http://www.elecfans.com/emb/20190222874035.html嵌入式操作系统是ARMCPU的软件基础,从8位/16位单片机发展到以ARMCPU核为代表的32位嵌入式处理器,嵌入式操作系统将替代传统的由手工编制的监控程序或调度程序,成为重要的基础组件。更重要的是嵌入式操作系统对应用程序可以起到屏蔽的作用,使应用程序员面向操作系统级开发应用软件,并易于在不...转载 2019-03-11 20:54:43 · 5649 阅读 · 0 评论 -
初学者如何学习嵌入式Linux底层系统
转载地址:http://www.elecfans.com/d/873355.html嵌入式Linux可以分为两部分:底层系统、应用开发。对于应用开发 : C语言、数据结构、JAVA什么的需学好。嵌入式应用开发和PC上的应用开发并没有什么特别要注意的。也许你说在嵌入式上要做些优化,是的,要优化,但是未经优化的程序和PC上的程序开发没什么差别。另外,当你有能力去优化时,你已经不用来问这个问题了...转载 2019-03-11 20:30:18 · 962 阅读 · 0 评论 -
嵌入式学习必备书籍
转载地址:http://www.51hei.com/bbs/dpj-26458-1.html从事嵌入式研发行业十年,认为学习就是要不断的吸纳知识,在研发过程中,经常会遇到一些问题,这种发现问题并解决问题的过程就是进步。为什么选择学习嵌入式?嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一,同时也是当今IT领域仅存的几个金领职位之一。当前的中国IT人才面临严重的“后继乏人”, 而...转载 2019-03-05 08:26:41 · 561 阅读 · 0 评论 -
#if #ifdef #ifndef #undef 条件编译
1、#if命令 #if的基本含义:如果#if命令后的参数表达式为真,则编译#if到#endif之间的程序段,#endif命令用来表示#if段的结束,否则跳过这段程序。 #if命令的一般格式如下: #if 常数表达式 语句段#endif如果“常数表达式”为真,则该段程序被编译。例子:#include <stdio.h>#define...原创 2019-01-26 11:43:05 · 1903 阅读 · 0 评论 -
如何使linux用户下次登录强制修改密码
解决思路是:linux系统用户密码是有使用期限的,密码过期就需要用户修改密码,只要让用户密码立即过期,就可以实现让客户登录系统就更改密码。可以使用chage命令来实现:chage -d 0 username #意思是密码最近一次修改时间为 1970/1/1,会强制用户下次登陆时修改密码用法:chage [选项] 用户名选项:-d, --原创 2017-05-24 14:08:37 · 7131 阅读 · 0 评论 -
linux系统调用的实现
一个系统调用的实现并不需要去关心如何从用户空间转换到内核空间,以及系统调用处理程序如何去执行,你需要做的只是遵循几个固定的步骡。5.4_1如何实现一个新的系统调用为Linux添加新的系统调用是件相对容易的事情,主要包括有4个步骤:编写系统调用服务例程;添加系统调用号;修改系统调用表;重新编译内核并测试新添加的系统调用. 下面以一个并无实际用处的hello系统调用为例,来演示上述几个步骡。原创 2015-11-10 11:26:27 · 735 阅读 · 0 评论 -
chmod文件权限设置总结
在平时无论是命令行还是UI下操作都会有遇到权限问题,这两周学习shell脚本中也遇到了权限问题。以前都是每次遇到问题,搜答案解决,并没有深究其中含义原理。现在在这里整理一下权限设置方法,以方便大家以后根据自己需要设置权限。一 chmod 符号模式 下面进入实践阶段:1 首先我们先看看怎么取消所有用户执行 一个目录下所有文件的权限:a 代表对所有用户执行此操转载 2014-08-15 21:24:16 · 3173 阅读 · 0 评论 -
wget 命令用法详解
wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上。它有以下功能和特点:(1)支持断点下传功能;这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的用户可以放心了;(2)同时支持FTP和HTTP下载方式;尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候转载 2014-08-16 19:12:09 · 720 阅读 · 0 评论 -
make menuconfig后命令,提示make: No rule to make target ‘menuconfig’.Stop.
在编译内核时,无论使用哪种方式都提示:make ***No rule to make target "menuconfig".stop. 原因是没有在内核源码目录下进行。例如,要编译或升级的内核解压后的目录为/usr/src/linux-2.4.24,一定要进入到该目录后使用make menuconfig命令,这样就不会提示上面的错误了。转载 2014-08-12 19:08:51 · 3798 阅读 · 1 评论 -
使用 bc 进行进制转换
使用 bc 进行进制转换在 Shell 中进行进制转换的另一个诀窍是使用 bc,它是一种任意精度运算语言,大多数 UNIX/Linux 安装程序都提供。因为它允许您指定输出进制,所以当您需要以十进制以外的进制输出时,这是一种很好的技术。bc 的特殊变量 ibase 和 obase 分别包含用于输入和输出的进制的值。缺省情况下,都被设置为 10。要执行进制转换,需要改变其中的转载 2014-08-11 12:49:33 · 1164 阅读 · 0 评论 -
原子操作
1定义一个操作是原子的(atomic),如果这个操作所处的层(layer)的更高层不能发现其内部实现与结构。2简介在多进程(线程)访问资源时,能够确保所有其他的进程(线程)都不在同一时间内访问相同的资源。原子操作(atomic operation)是不需要synchronized,这是Java多线程编程的老生常谈了。所谓原子操作是指不会被线程调度机制打断的操作;这种操作原创 2014-08-10 17:19:58 · 781 阅读 · 0 评论