AnSwEr不是答案

http://answerywj.com/
私信 关注
AnSwEr不是答案
码龄8年

Github:https://github.com/AnSwErYWJ 技术博客:www.answerywj.com

  • 387,460
    被访问量
  • 114
    原创文章
  • 17,838
    作者排名
  • 100
    粉丝数量
  • 目前就职 无
  • 于 2013-06-24 加入CSDN
获得成就
  • 获得276次点赞
  • 内容获得67次评论
  • 获得271次收藏
荣誉勋章
TA的专栏
  • 编译原理学习
    6篇
  • Git
    5篇
  • Phper
    2篇
  • 博客建站
    1篇
  • 漫步Linux
    22篇
  • Makefile
    1篇
  • mac
    1篇
  • 语音
    1篇
  • UNIX环境高级编程
    10篇
  • 漫谈C/C++
    19篇
  • UNIX网络编程
    4篇
  • C/C++
    36篇
  • C Primer Plus读书笔记
    12篇
  • UNIX环境高级编程
    10篇
  • linux
    27篇
  • Python
    10篇
  • PHP
    2篇
  • 杂文
    5篇
  • 备份
    2篇
  • 前端
    1篇
  • 随笔
    2篇
  • Lua
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

RPATH与RUNPATH的区别

文章目录RPATH与RUNPATH的区别源文件复现步骤问题原因排除共享库本身问题分析库查找过程RPATH与RUNPATH的区别解决方案LD_LIBRARY_PATH(不推荐)--disable-new-dtags参考本文从一个实际遇到的问题出发,分析 RPATH 与 RUNPATH 的区别,以及产生的原因。RPATH与RUNPATH的区别年前升级了操作系统后,同样的代码在新系统编译后无法执行,提示找不到依赖库,本文用来记录一下是如何解决这个问题的。源文件main.c :#include "a
原创
15阅读
0评论
0点赞
发布博客于 12 天前

Git速查手册(第三版)

本文是对Git速查手册(第二版)的更新,补充了一些近期使用或者收集的一些命令。设置Git版本Git下载地址:https://git-scm.com/downloads,推荐使用v1.8及以上版本。查看Git版本:$ git --version用户信息Git配置分为三个级别:--system:系统级,位于 /etc/gitconfig;--global:用户级,位于 ~/.gitconfig;--local:仓库级,位于 [repo]/.git/config,为默认级别且优先级
原创
31阅读
0评论
0点赞
发布博客于 5 月前

写好技术简历的一些建议

根据我求职与招聘的经验,结合网上相关资料,这里整理了一些写好技术简历的建议。这里提供了一份简历模版,可供参考。保证内容真实性写简历必须要保证内容的真实性,这是候选人个人诚信的体现,无论在简历中如何自夸,最终会在面试过程中也会露怯;同时现在大部分企业在招聘时,都会进行背调,所以请务必保证简历内容包括面试过程的真实性,实事求是,“知之为知之,不知为不知”。项目描述不是流水账对于技术人员来说,项目经历是简历的主体,也是简历中最需要突出的部分,项目中涉及的技能和成果等,是对求职者能力最具说服力的证
原创
763阅读
0评论
4点赞
发布博客于 7 月前

C代码覆盖率测试工具Gcov

文章目录介绍简介基本概念基本块BB跳转ARC程序流图原理使用编译数据收集报告生成注意事项图形化展示列表形式XML文件形式HTML文件形式其它ReferenceAbout me代码覆盖率测试反映了测试的广度与深度,量化了测试和开发质量,是十分有必要的,业界目前有针对各种语言的覆盖率测试工具,本文主要介绍C/C++相关的覆盖率测试工具Gcov介绍简介Gcov是一个测试覆盖程序,是集成在GCC中的,随GCC一起发布基本概念基本块BB基本块指一段程序的第一条语句被执行过一次后,这段程序中的每一跳语句
原创
177阅读
0评论
0点赞
发布博客于 9 月前

屏蔽静态库接口

文章目录准备编译链接去除无用的符号隐藏的符号本地化(我也不知道中文怎么翻译了)打包成静态库验证调用未被隐藏的`hello()`调用隐藏的`bye()`分享屏蔽静态库接口的一种方法.准备hello.c:#include <stdio.h>__attribute__ ((visibility ("default"))) void hello() { printf("Hello World!
");}hello.h:#ifndef __HELLO__H#define __H
原创
203阅读
0评论
0点赞
发布博客于 9 月前

sysroot为何物?

文章目录sysroot为何物Reference本文介绍链接过程中sysroot的作用。sysroot为何物做过交叉编译的同学们,一定对下面这个错误十分熟悉吧:/cross-compiling/ld: cannot find crt1.o: No such file or directory/cross-compiling/ld: cannot find crti.o: No such file or directory在我们的pc上,这两个文件一般在/usr/lib或者/usr/lib32
原创
602阅读
0评论
2点赞
发布博客于 9 月前

深究strtok系列函数

文章目录函数说明说明参数返回值示例使用注意事项不会生成新的字符串,只是在源字符串上做了修改,源字符串会发生变化第一个参数不可为字符串常量若在第一次提取子串后,继续对源字符串进行提取,应在其后的调用中将第一个参数置为空值`NULL`第二个参数是分割符的集合,支持多个分割符若首字符为分割符,则会被忽略`strtok`为不可重入函数,使用`strtok_r`更灵活和安全源码Reference本文通过分析源码,深究GLIBC中strtok和strtok_r函数的实现原理和使用过程中的注意事项。函数说明#i
原创
75阅读
0评论
0点赞
发布博客于 9 月前

wav文件解析

文章目录wav文件解析wav文件简介wav文件头wav文件格式编码类型wav文件读写API本文将解析wav音频文件格式,并实现一套用于读写wav文件的API。wav文件解析wav文件简介wav/wave文件格式是由微软开发的用于音频数字存储的标准,它采用RIFF(Resource Interchange File Format,资源交换文件标准)文件规范,文件扩展名为.wav,采用小端存储。wav文件头wav文件分成两部分:文件头:主要包含标准的44字节文件头或经过了一些软件处理的58字
原创
120阅读
0评论
0点赞
发布博客于 9 月前

将二进制文件作为目标文件中的一个段

文章目录查看该平台的ELF文件相关信息转换测试Reference本文将展示,如何将一个二进制文件(如图片、音频等)作为目标文件中的一个段,该技巧主要应用在一些无文件系统的平台。本次的实验场景为i386:x86-64 GNU/Linux,测试音频为nhxc.wav,测试程序为bin2obj.c。查看该平台的ELF文件相关信息生成目标文件$ gcc -c bin2obj.c -o bin2obj.o查看该平台ELF文件相关信息$ objdump -x bin2obj.obin2obj.o
原创
107阅读
0评论
0点赞
发布博客于 9 月前

Git仓库过大导致clone失败的解决方法

文章目录错误一增大postBuffer使用openssl替换gunssl错误二浅层clone本文记录工作中遇到的clone大仓库失败的解决过程,以下问题与解决方案均基于https访问。错误一从web端查看仓库大小,大约1.5G左右,首先直接执行git clone,报错如下:remote: Counting objects: 10994, done.remote: Compressing objects: 100% (3085/3085), done.error: RPC failed; cu
原创
1633阅读
0评论
1点赞
发布博客于 9 月前

全面理解Homebrew

文章目录Homebrew简介安装卸载解决软件源更新慢问题取消更新关闭自动更新替换软件源替换homebrew源替换homebrew-core源(核心软件仓库)替换homebrew-cask源(macOS应用)替换homebrew bottles源(预编译二进制软件包)常见错误附Homebrew常用命令确认shell版本方式本文将介绍Homebrew的安装与使用。Homebrew简介Homebrew是OS X上类似于apt-get和yum的软件包管理器,软件源依托于Github之上,所以在国内的网络
原创
115阅读
0评论
0点赞
发布博客于 9 月前

--hash-style兼容性问题

文章目录问题名词解释实验分析结论解决方案参考本文记录了解决 --hash-style 兼容性问题的过程。问题dlopen failed: empty/missing DT_HASH in "libxxx.so" (built with --hash-style=gnu?)最近,稳定性监控平台,被这一行错误日志霸榜,刚看到时也一脸懵逼,下面我们来逐步分析。名词解释首先需要查阅一下相关文档,了解一下其中的”新朋友”。DT_HASHELF 中的一个 Sections,保存了一个用于查找符
原创
477阅读
4评论
0点赞
发布博客于 9 月前

cJSON的秘密

学习使用cJSON过程的一些发现和总结,不涉及具体的函数 cJSON简介cJSON是一个快速,高性能的json解析器,由C语言编写,仅包含cJSON.c和cJSON.h两个文件,不支持跨平台;跨平台推荐纯lua写的dkjsoncJSON结构体cJSON结构体的组成:typedef struct cJSON { struct cJSON *next, *pr...
原创
1868阅读
1评论
2点赞
发布博客于 3 年前

Linux下core文件使用

有时候程序会异常退出而不带任何日志,此时就可以使用code文件进行分析,它会记录程序运行的内存,寄存器,堆栈指针等信息什么是core文件通常在Linux下遇到程序异常退出或者中止,我们都会使用core文件进行分析,其中包含了程序运行时的内存,寄存器,堆栈指针等信息,格式为ELF,可以理解是程序工作当前状态转储成一个文件,通过工具分析这个文件,我们可以定位到程序异常退出或者终止时...
原创
313阅读
0评论
2点赞
发布博客于 3 年前

线程同步机制条件变量的使用与思考

条件变量是Linux线程同步的一种机制,与互斥量一起使用时,允许线程以无竞争的方式等待特定条件的发生关键函数初始化与注销线程等待线程唤醒示例一些思考条件变量实质是什么互斥量保护的是什么为什么用while来判断条件先唤醒线程还是先解锁ReferenceAbout me关键函数初始化与注销#include <pthread.h>// 静态初始化pthread_cond_t c
原创
368阅读
0评论
2点赞
发布博客于 4 年前

GCC编译ARM篇

ARM 平台下GCC编译相关介绍,待补充 ARM处理器架构ARM处理器架构,通过选项-march指定,如-march=armv7-a,目前常见的有armv5te,armv6和armv7-a等指令集指令集,通过选项-m指定,如-mthumb,常见的有 1. thumb 16位指令集,它将32位arm指令的压缩成16位的指令编码方式,,实现低功耗 2. thumb-2 16位/32位指令集,对
原创
4678阅读
0评论
2点赞
发布博客于 4 年前

UNIX下IO模型分析

UNIX下IO模型分析对UNIX下的五种常见IO模型分析,帮助理解 IO操作的两个阶段以读数据操作为例: 1. 等待内核数据准备(数据拷贝到内核缓冲区) 2. 将数据从内核拷贝到用户空间IO模型UNIX下共有五种常见的IO模型: 下面以recvfrom接口举例阻塞IO默认情况下,所有的套接字都是阻塞的 调用recvfrom接口,进程在IO操作的两个阶段都会阻塞,直到最终数据拷贝到用
原创
477阅读
0评论
1点赞
发布博客于 4 年前

记一次踩坑|空table应该编码为数组还是对象

Json有两种比较常用的数据类型:被{}包裹的对象(object),被[]包裹的数组(array)问题描述从第三方API返回的json数据,存在一个key的值为空数组,可是经过decode和encode这两步操作后,这个key的值就变为空对象了:local cjson = require('cjson')local raw = {}raw.name = 'answer'raw.list = {}
原创
1921阅读
0评论
1点赞
发布博客于 4 年前

Git速查手册(第二版)

本文是对之前Git速查手册的更新,增加了一些这段时间使用到的命令。配置git笔者使用的是v2.1.0,推荐大家使用v1.8以上的版本。 查看git版本:$ git --version配置命令git config分为三个级别:--system : 系统级,位于 /etc/gitconfig .--global : 用户级,位于 ~/.gitconfig .--local : 仓库级,位于 repo
原创
295阅读
0评论
1点赞
发布博客于 4 年前

科普|云计算的四种服务模式介绍

科普|云计算的四种服务模式介绍本文将介绍SaaS,BaaS,PaaS和IaaS这四种云计算服务模式,并分析之间的联系和区别。四种服务模式介绍SaaS(Software as a Service):软件即服务,SaaS公司提供完整并可直接使用的应用程序,用户通过网页浏览器即可接入使用。比较知名的SaaS有GoToMeeting,WebEx和Salesforce。BaaS(Backend as a
原创
4800阅读
0评论
3点赞
发布博客于 4 年前

UNIX网络编程-listen函数及其包裹函数介绍

UNIX网络编程-listen函数及其包裹函数介绍函数简介#include<sys/socket.h>int listen(int sockfd,int backlog); 返回:若成功则为0,若出错则为-1目前listen函数仅为TCP服务器调用,主要完成两个任务: 1. 将socket函数创建的还未建立连接的主动套接字转换为被动(
原创
698阅读
0评论
1点赞
发布博客于 4 年前

WAVE音频文件格式分析--实现C语言读写文件头

本文将详细分析WAVE音频文件的格式,并通过C语言对wave文件头进行读写操作。WAVE音频文件格式分析–实现C语言读写文件头WAVE音频文件WAVE文件格式是一种由微软和IBM联合开发的用于音频数字存储的标准, 它采用RIFF(Resource Interchange File Format,资源交换文件标准)文件格式结构文件的扩展名为“WAV”, 所有的WAV都有一个文件头, 数据本身的格式为P
原创
3351阅读
2评论
4点赞
发布博客于 4 年前

C程序判断你主机的数据存储方式(大端和小端)

本文将使用C语言编写一个可以判断你主机数据存储方式(大端和小端)的程序.C程序判断你主机的数据存储方式(大端和小端)大端和小端字节序计算机硬件存储数据的方式有两种: 大端字节序(big endian) 和 小端字节序(little endian),两者的区别可以简单理解为: - 大端: 数据高位字节放在内存低地址(人类读写的习惯). - 小端: 数据高位字节放在内存高地址.如现在有数 0x123
原创
859阅读
0评论
1点赞
发布博客于 5 年前

从文件流中读写整数--C语言

本文将介绍在文本流中,读写整数的两个接口– int getw(FILE *fp)和int putw(int w, FILE *fp),并且与你分享改进后的更实用的接口– unsigned int get_uint(FILE *fp)和unsigned int put_uint(unsigned int i,FILE *fp).从文件流中读写整数–C语言我们都知道,数据在计算机内存中都是以二进制的形式
原创
6963阅读
0评论
1点赞
发布博客于 5 年前

Linux下C调用静态库和动态库

Linux下C调用静态库和动态库本文主要介绍Linux下C调用静态库和动态库,使用的样例文件请点击这里. 样例文件welcome.c:#include<stdio.h>#include"welcome.h"void welcome(){ printf("welcome to my code world!
");} 这是一个样例程序,打印一句话.welcome.h:#ifnde
原创
7941阅读
0评论
2点赞
发布博客于 5 年前

Linux下处理json数据

Linux下处理json数据当我们在LInux下需要处理json数据时,第一反应是用脚本编写一个工具,这样即耗时又不通用. 本文将介绍专门的命令行json处理工具jq. 安装Ubuntu用户可以直接使用下列命令安装:$ sudo apt-get install jq 也可以选择源码安装,当然最简单的方法是直接下载可执行文件,不过需要找到适配你系统的版本.详细的安装方法可以参考这里.使用首先构建一个
原创
4304阅读
0评论
1点赞
发布博客于 5 年前

[科普]3.5mm耳机国标和美标

现在3.5mm规格的耳机已经普遍使用,但是用户会发现一些国外厂家的耳机并不适用国产手机,下面就为大家科普一下,解开这个迷题。区别美标也称为国际标准(CTIA),从头开始分别是左声道/右声道/地线/MIC。目前在市场上最流行国标(OMTP),从头开始分别是左声道/右声道/MIC/地线。从上图可以发现美标和国标的差别就在于MIC和地线的位置不同,导致会出现在听音乐时只有伴奏没有人声,只有按住接听键
原创
33330阅读
2评论
5点赞
发布博客于 5 年前

Shell脚本浮点运算

本文将介绍几种Linux下通过Shell脚本进行浮点数计算的方法。WhyBash Shell本身不具备处理浮点计算的能力, 如expr命令只支持整数运算 :#!/bin/basha=59b=60expr $a / $b运行结果 :$ ./cal.sh0$Plan A使用bc进行处理。 代码 :#!/bin/basha=59b=60echo "scale=4; $a / $b" | b
原创
6006阅读
0评论
1点赞
发布博客于 5 年前

Git速查手册

本手册旨在记录实际工程项目中使用的git命令,方便查找。配置git笔者使用的是v2.1.0,推荐大家使用v1.8以上的版本。 查看git版本:$ git --version配置命令git config分为三个级别:--system : 系统级,位于 /etc/gitconfig .--global : 用户级,位于 ~/.gitconfig .--local : 仓库级,位于 repo/.git
原创
590阅读
0评论
1点赞
发布博客于 5 年前

Hexo+Github博客备份方法

Why使用hexo+github搭建的博客,博客作为一个单独的github仓库存在,可是仓库中不包含你每篇博客的源文件。如果你换了一台机器想要更新博客或者想重新发布以前的博客,这就不好办了。我这里推荐一种云端备份的方法。How首先,在你博客的仓库中新开一个分支,作为backup(master为博客的推送分支),并且设为默认分支。将远程仓库获取到本地(两个仓库都需要获取)。每次写完博客之前,需要
原创
3306阅读
4评论
1点赞
发布博客于 5 年前

Linux的硬链接和软链接

Linux下链接的命令是ln,可以通过man ln查看.硬链接链接的是索引节点(inode),硬链接文件inode值相同(在Linux的文件系统的文件不管是什么类型都给它分配一个indoe号),所以硬链接文件不占用磁盘空间.相当于创建一个别名.有两个限制:目录不能创建硬链接;只能在同一个文件系统中进行硬链接.命令: ln srouce dest 对源文件进行修改或删除,硬链接文件会同步修
原创
265阅读
0评论
1点赞
发布博客于 5 年前

Git实用命令补充

Git实用命令补充这是对廖雪峰老师的git教程的一个补充,增加了一些实用却很少被提及的命令.如果你是初学者,建议先阅读廖雪峰老师的git教程.ssh连接检查git支持https和ssh等协议.https除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,而ssh支持的原生git协议速度最快. 当ssh配置完成后,再次检查ssh连接情况:ssh -T git@github.com如果看到如下所
原创
380阅读
0评论
1点赞
发布博客于 5 年前

Github 徽章整理

Github 徽章整理 相信很多在Github上玩耍过的同学们都会发现,在很多项目的README里会有各式各样的徽章,是不是顿时感觉到很高上大?没关系,读完这篇文章你就也可以拥有这些徽章了,甚至可以定制自己的徽章。NodeJs如果这是一个用npm管理的一个包,请添加:[版本图片](https://www.npmjs.com/package/项目名)如果你使用了第三方的组件,那可以标识是否为最新
原创
4338阅读
0评论
3点赞
发布博客于 5 年前

我的源码阅读论

我的源码阅读论这是一篇随笔。最近准备开始阅读一些开源的项目,还有公司的项目源码也开放给我了,准备认认真真的进入状态啦。(PS:已经实习近两个月了,貌似进步太慢!)。因为我记性比较差,所以觉得有必要在这里记录一下自以为比较正确有效的源码阅读方法。工具论SourceInsight:据说是最好的源码阅读工具。Doxygen:可以将批注转换为说明文档。各种IDE。 其实,我觉得对于不是特别复杂的项目
原创
387阅读
0评论
2点赞
发布博客于 5 年前

JavaScript学习笔记

JavaScript学习笔记前言:本文是我在学习过程中的一些记录,主要通过慕课网等在线学习网站或论坛学习。JavaScript学习笔记基础语法引用方法语句与注释变量与函数数组操作符流程控制语句互动方法输出内容documentwrite警告alert 消息对话框确认confirm 消息对话框提问prompt 消息对话框打开窗口windowopen关闭窗口windowclos
原创
290阅读
0评论
1点赞
发布博客于 5 年前

Linux下adb devices : no permissions解决方案

Linux下adb devices : no permissions解决方案Linux下adb工具下载,下载解压到/usr/bin目录。问题当我们在Linux下连接安卓手机,进行adb调试时,执行adb devices会出现如下错误提示:List of devices attached???????????? no permissions解决方案首先创建一个规则配置文件:sudo vi /etc/
原创
1527阅读
0评论
3点赞
发布博客于 5 年前

Linux Shell 脚本调试总结

自制Linux屏保程序 这是一个我自制的Linux下屏幕保护程序的脚本.sl命令你没看错,是sl,不是ls. “sl”代表了蒸汽机机头,我们的屏保图像就是利用了sl所展示的蒸汽机,效果如下:在当下两个主流系统中的安装命令如下:#Ubuntu:sudo apt-get install sl#Centos:sudo yum install slsl还有一些选项,可以展示不同的效果: -a
原创
441阅读
0评论
1点赞
发布博客于 5 年前

可变参数(C语言):stdarg.h

可变参数(C语言):stdarg.h前言:本文将介绍C语言函数的可变参数使用,头文件stdarg.h为函数提供了类似的能力,最后会附上一个完整例程来帮助大家理解。详解头文件stdarg.h为函数提供了使用可变参数的能力,但是必须按照指定的步骤进行。1.在函数原型中使用省略号使用可变参数的函数必须要有一个参量列表,参量列表中至少有一个后跟省略号的参量:int fun(int n, ...);n表示省略
原创
848阅读
1评论
1点赞
发布博客于 6 年前

Linux下C程序的反汇编

Linux下C程序的反汇编前言:本文主要介绍几种反汇编的方法。gccgcc的完整编译过程大致为:预处理->编译->汇编->链接前三个步骤分别对应了-E、-S、-c三个选项。今天我要介绍的第一种方法就是使用-S这个选项。源程序main.c:/************************************************************************* > F
原创
26384阅读
3评论
9点赞
发布博客于 6 年前

Mushroom Introduction

Mushroom Introduction前言:本文主要介绍Mushroom系统底层各个模块,帮助读者尽快熟悉本系统。1. 系统概述main函数的设计思路是,一个main函数的主线程负责传感器数值的采集以及发送,同时单开一个用于控制器的控制线程。在控制线程中,接收上层数据中心发送的指令,这个指令包含了控制器号以及即将修改的控制器状态。我们使用controller_set()来设置控制器状态,同时返回
原创
400阅读
0评论
1点赞
发布博客于 6 年前

Mushroom User's Manual

Mushroom User’s Manual前言:本文主要说明Mushroom系统底层模块的调试与使用。1. 本地1.1 编译修改Makefile文件如下:CC=gcc#CC=arm-linux-gccSRC = main.call: $(CC) -g $(SRC) fx-serial.c socket_client.c proto/header.pb-c.c proto/getdat
原创
378阅读
0评论
1点赞
发布博客于 6 年前

Crontab学习笔记——Linux计划任务

Crontab学习笔记——Linux计划任务简介Crontab是一个用于设置周期性被执行的任务的工具。主要由CronD这个系统服务、配置文件和crontab配置工具组成,会每分钟从配置文件刷新定时任务。安装配置本服务器为Centos 64位系统,已经缺省安装。安装前先检查:crontab -l #是否有计划任务列表service crond status #是否启动服务安装:sudo yum in
原创
854阅读
0评论
2点赞
发布博客于 6 年前

Python学习资源

Python学习资源这里总结一些自己学习Python时的一些资源。由于正在学习中,所以会不断更新的。我的学习代码我的Blog视屏教程官方文档中文教程反馈与建议微博:@AnSwEr不是答案github:AnSwErYWJ博客:AnSwEr不是答案的专栏
原创
506阅读
0评论
1点赞
发布博客于 6 年前

C语言生成随机数

C语言生成随机数rand函数函数介绍rand()函数是产生随机数的一个随机函数:#includeint rand(void);返回值: rand()返回值为一随机数值,范围在0至RAND_MAX 间(RAND_MAX定义在stdlib.h,其值为2147483647)。 注:在调用此函数前,必须先利用srand()设好随机数种子。如果未设随机数种子,rand()在
原创
43220阅读
1评论
24点赞
发布博客于 6 年前

C语言配置文件解析库——iniparser

C语言配置文件解析库——iniparser前言:在对项目的优化时,发现Linux下没有专门的供给C语言使用的配置文件函数,于是搜索到了iniparser库,可以像那些面向对象语言一样,使用ini文件进行参数配置。介绍iniparser是针对INI文件的解析器。ini文件则是一些系统或者软件的配置文件。iniparser库有三种下载方式: 1. 官方网站 2. 我的github 3. 我的网盘
原创
14461阅读
3评论
15点赞
发布博客于 6 年前

C语言实现优先级队列——priqueue

C语言实现优先级队列在回顾一个学长的项目时,发现他在串口的多线程操作时不是单纯的使用互斥量在读写操作时来共享串口,而是使用了一个优先级队列,在共享串口的基础上,可以设定读或写命令的优先级来决定命令执行序列。在这里,我来分享这个优先级队列的源代码,虽然自己还不是吃的很透,但是现在这里留下记录,希望下次使用时能更进一步,也欢迎大家在下面讨论,交流。源码:priqueue反馈与建议微博:@AnSwEr不
原创
2481阅读
0评论
4点赞
发布博客于 6 年前

Word实用技巧

Word实用技巧前言:总结一些word的使用技巧,可以提高工作效率。欢迎大家继续补充。快捷键Shift+Alt+上(或下)方向键:调整文档中段落的顺序,也可以调整Word表格中的行序。Alt+F8 :可显示用于运行、编辑或删除宏的“宏”对话框。F4 :重复上一步操作。Ctrl组合键: shift+上下左右:用键盘从当前光标位置选择文本。Ctrl + Alt + < :缩小。Ctrl +
原创
471阅读
0评论
1点赞
发布博客于 6 年前

Ubuntu下使用github+jekyll搭建博客

Ubuntu下使用github+jekyll搭建博客前言:本文章仅作为我自己搭建博客的一个记录,无原理性的概念,请见谅。注册github这一步较为简单,请自行解决。安装Jekyll需要先安装ruby和rubygems:sudo apt-get install ruby1.9.1-devsudo apt-get install rubygemsexport PATH=
原创
1453阅读
1评论
3点赞
发布博客于 6 年前

WAMP常用环境配置

WAMP常用环境配置前言: WAMP在使用时常常需要进行自定义的配置,这里介绍几个常用的配置。自定义网站目录修改目录位置如下图,打开httpd.conf文件。 查找DocumentRoot(两处),做如下修改:#demo为自定义网站目录,下面不再说明DocumentRoot "f:/demo"<Directory "F:/demo">重启配置服务。测试:打开浏览器,输入localhost/te
原创
4624阅读
0评论
6点赞
发布博客于 6 年前

Linux C编程的时间函数例程

Linux C编程的时间函数例程前言:本文将介绍一些时间函数,但不会一一解释这些函数,只是提供这些函数所返回的值来方便开发者的使用。time()返回当前时间和日期距1970.1.1 00:00:00经过的秒数。#include<stdio.h>#include<time.h>int main(void){ printf("%lds

",time(NULL)); return
原创
739阅读
0评论
1点赞
发布博客于 6 年前

浅谈Linux下Makefile编写

浅谈Linux下Makefile的编写前言:本文简要介绍Makefile文件的编写规范,结合具体项目中的应用进行讲解。具体代码地址: https://github.com/AnSwErYWJ/DogFood/blob/master/Makefile简介Make工具最主要也是最基本的功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译工作。而makefile 文件需要按照某种语法
原创
2024阅读
0评论
2点赞
发布博客于 6 年前

TCP服务器listen函数的包裹函数

TCP服务器listen函数的包裹函数前言:本文将介绍listen函数的包裹函数。listen()函数#include<sys/socket.h>int listen(int sockfd,int backlog)//成功返回0,失败返回-1当TCP服务器调用listen函数时,它做两件事:把服务器套接字从CLOSED状态转换到LISTEN状态。backlog参数规定了内核中未完成连接套接字的
原创
1344阅读
0评论
2点赞
发布博客于 6 年前

UNIX安全读写函数——readn和writen

UNIX安全读写函数——readn和writen前言:字节流套接字(TCP套接字)上的read和write函数所表现的行为不同于通常的文件I/O。字节流套接字调用read或write输入或输出的字节数可能比请求的数量少,然而这并不是出错的状态。这是因为内核中用于套接字的缓冲区可能达到了极限。通常这种情况出现在一次读多于4096个字节或write在非阻塞情况下返回不足字节数。为了不多次调用read或防
原创
2821阅读
0评论
4点赞
发布博客于 6 年前

GDB使用教程

GDB使用教程前言: gdb(GNU debugger)是GNU开发组织发布的一个强大的UNIX/Linux下的程序调试工具。启动gdbgcc -g main.c //调试性编译gdb a.out启动后出现软件信息: 列出源代码(gdb) list9 10 int add(int n)11 {12 return n+1;13 }14 15 int main(
原创
1823阅读
0评论
1点赞
发布博客于 6 年前

CentOS下搭建LAMP环境

CentOS下搭建LAMP环境前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发。LAMP: Linux + Apache + PHP + Mysql。系统: CentOS 7,64位。CentOS安装我选取了64位的CentOS 7这个Linux系统,安装过程也很简单,不再过多叙述,只稍微介绍一下我的分区情况: 分区名 大小 /bo
原创
2128阅读
2评论
3点赞
发布博客于 6 年前

Linux串口编程教程(二)——终端IO介绍

Linux串口编程教程(二)——终端I/O介绍前言:本篇将对终端IO的一系列常用属性以及函数进行解读,这也是为最后一篇教程进行铺垫,希望您仔细阅读。 注意:本篇文章参考了《UNIX环境高级编程》中的第18章。您也可以下载我写的一些源代码。什么是终端终端是一种字符型设备,它分为一下四种:串行端口终端(Serial Port Terminal):是使用计算机串行端口连接的设备,计算机把每个串行端
原创
1918阅读
0评论
1点赞
发布博客于 6 年前

Linux串口编程教程(三)——串口编程详解

Linux串口编程教程(三)——串口编程详解前言:本章将正式讲解串口编程技术,利用一个串口收发数据的程序,来分步讲解。 注意:您可以下载我的源代码进行参考。打开串口反馈与建议微博:@AnSwEr不是答案github:AnSwErYWJ博客:AnSwEr不是答案的专栏
原创
8366阅读
16评论
6点赞
发布博客于 6 年前

Linux串口编程教程(一)——基础知识介绍

Linux串口编程教程(一)——基础知识介绍前言:本文将介绍一些有关于串口的基本概念,偏向于理论,比较杂,如果您不感兴趣或者只想用代码说话,那么请您跳过这篇去看第二篇和第三篇。什么是串口?串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串口有哪些分类?按接口划分为一下三种:RS-232:标准串口,最常用的一种串行通讯接口。有三种类型(A,B和C)
原创
1294阅读
0评论
1点赞
发布博客于 6 年前

Ubuntu系统安装ARM-linux-gcc

Ubuntu系统安装arm-linux-gcc交叉编译器前言:由于开发的智能蘑菇房项目最终是要运行在开发板上的,而平时的开发工作则是在自己的PC上完成,为了不必每次编译都在arm板上进行,所以需要在PC上安装交叉编译环境。另外,我的系统是64位的Ubuntu,下面的安装过程也是在这上面完成的。安装1.首先需要从网上下载或者从光盘提取arm-linux-gcc安装包。(我是用的是光盘中的arm-lin
原创
1053阅读
0评论
1点赞
发布博客于 6 年前

Friendly ARM开发板安装Linux系统教程

友善之臂ARM9开发板安装Linux系统教程前言:智能蘑菇房项目的运行环境是友善之臂ARM9开发板,所以需要在上面灌一个linux系统,下面我来简单介绍一下。准备读卡器SD卡串口线一根(USB转串口也可以)Friendly ARM开发板SuperBoot烧写BootLoader:在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从
原创
3295阅读
0评论
1点赞
发布博客于 6 年前

Linux fork炸弹解析 ——Linux Fork Bomb

Linux Fork Bomb:(){ :|: & };:是一个bash函数,以Fork Bomb闻名,是一个拒绝服务攻击 的Linux 系统。如果你好奇地去执行了这个命令,那么赶快重启系统吧~!命令解析:(){ : | : &};::在这里是一个函数名,我们定义之,并在后面执行它。:|:&,:函数的输出通过管道传给另一个冒号函数作为输入,并且在后台执行。{ };标识着里面的内容是
原创
6914阅读
0评论
2点赞
发布博客于 6 年前

Linux平台上SQLite数据库教程(二)——C语言API介绍

Linux平台上SQLite数据库教程(二)——C语言API介绍本文将介绍几个基本的SQLite3数据库的C语言API接口,主要用到两个文件:sqlite3.c、sqlite3.h。源码地址:https://github.com/AnSwErYWJ/SQLite。打开数据库1.原型:int sqlite3_open( const char* filename, /
原创
2077阅读
0评论
3点赞
发布博客于 6 年前

Linux平台上SQLite数据库教程(一)——终端使用篇

Linux平台上SQLite数据库的安装与使用SQLite是一款轻型的数据库,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,可能只需要几百K的内存就够了。能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口。安装在终端输入: sudo apt-get instal
原创
20354阅读
0评论
19点赞
发布博客于 6 年前

使用shell脚本清空文件

使用shell脚本清空文件在最近的项目中,会生成很多日志文件,所以需要写一个脚本来手动清空它们,下面提供几种典型方法。方法1代码#!/bin/bash##方法1echo "" > $1echo "$1 cleaned up."运行截图说明我想大家应该注意到了文件其实并没有真正被清空,而是有一个空行。方法2代码#!/bin/bash##方法2: > $1echo "$1 cleaned
原创
14778阅读
1评论
7点赞
发布博客于 6 年前

Linux命令行文本加密的小技巧

Linux命令行文本加密的小技巧我在学习shell攻略时了解到了这个方法,感觉简单有趣,所以现在把它整理出来和大家分享。ROT13文本编码介绍ROT13(回转13位,rotateby13places,有时中间加了个减号称作ROT-13)是一种简易的置换暗码。把 ROT13 称为“加密”是大方的,“文本模糊处理”更准确些。有时候它被用来隐藏文本中潜在的攻击内容。原理套用ROT13到一段文字上仅仅只需要
原创
3709阅读
0评论
2点赞
发布博客于 6 年前

2016 C语言面试题——字符串函数的实现

C语言各类字符串函数的实现开学就要开始找工作了,我觉得这些函数被问到的几率还是很大的,所以在这里与大家分享strlen函数原型:#include <string.h>unsigned int strlen (char *s);功能:计算指定的字符串s 的长度,不包括结束字符”\0”。我的实现:/****************************************************
原创
2701阅读
0评论
2点赞
发布博客于 6 年前

交换两个值的方法

交换两个值的方法1.利用temp变量交换temp=a;a=b;b=a;2.加减法交换b = a - b;a = a - b;b = a + b;3.异或交换a = a ^ b;b = a ^ b;a = a ^ b;
原创
838阅读
2评论
2点赞
发布博客于 6 年前

定义字符串的两种方式

定义字符串的两种方式数组定义char name[] = "answer"指针定义char *name = "answer"比较字符串里的字符可以修改,而字符串是一个常量,字符串里面的字符不能修改。>Tips:可以与我的另外一篇文章一起看。http://blog.csdn.net/u011192270/article/details/46475981
原创
8046阅读
0评论
5点赞
发布博客于 6 年前

Linux下Socket编程----connect()函数的包裹函数介绍

Linux下Socket编程—-connect()函数的包裹函数介绍这里主要介绍的是在TCP连接中的应用connect()函数简介1. 功能: 用于客户端建立tcp连接,发起三次握手过程。 2. 原型:#include<sys/socket.h>#include<sys/types.h>int connect(int sockfd, const struct sockaddr* server_
原创
5818阅读
0评论
3点赞
发布博客于 6 年前

Linux C编程的DEBUG宏

#if defined(DEBUG_PRINT)#define DEBUG(...)\ do{\ fprintf(stderr,"-----DEBUG-----
");\ fprintf(stderr,"%s %s
",__TIME__,__DATE__);\ fprintf(stderr,"%s:%d:%s():",__F
原创
3062阅读
0评论
4点赞
发布博客于 6 年前

Linux socket编程的心跳机制总结

Linux socket编程的心跳机制总结我写这篇文章的目的是想总结一下心跳机制的使用,因为最近两个项目的TCP通信中都使用了这个方法,感觉用法好诗比较经典的,所以拿出来与大家共享。什么是心跳机制心跳机制就是当客户端与服务端建立连接后,每隔几分钟发送一个固定消息给服务端,服务端收到后回复一个固定消息给客户端,如果服务端几分钟内没有收到客户端消息,则视客户端断开。发送方可以是客户端和服务端,看具体需求
原创
6189阅读
0评论
6点赞
发布博客于 6 年前

UNIX高级环境编程——进程思考

思考一:exec系列函数比system函数更加有效,因为的新进程启动后,原来的程序就不再运行了,切换到新进程中了。
原创
839阅读
0评论
2点赞
发布博客于 6 年前

Linux程序设计的一些小工具使用

在Linux下,除了gdb,其实还有一些不错的工具是值得一试的,我就结合最近写的一个ping程序来介绍:注:程序地址:https://github.com/AnSwErYWJ/Pingcflow:打印出一个函数调用树当然你也可以选择将其重定向到一个文件。他的-i选项可以反向输出函数的调用树。先介绍到这,欢迎大家补充。我以后遇到好工具也会继续更新的。。。
原创
875阅读
0评论
1点赞
发布博客于 6 年前

linux下nohup命令——让程序在远程主机后台运行

最近做的一个项目,需要登录到远程主机进行运行调试,采取的是talent远程登录。进行了几次实验后发现当运行程序后关闭终端即关闭talent登录后程序有时候也会停止运行,这让我很苦恼,本来想采取守护进程进行编写程序,可是太麻烦,而且这样时间上或许来不及了,所以上网查找了另外一种方法:  用nohup命令启动程序:nohup & 提示:  [~]$ appending output
原创
4754阅读
0评论
2点赞
发布博客于 6 年前

C语言字符指针和字符数组的区别

废话不多说,直接上代码:#includeint main(){ char str[]="hello78"; char *str1="world"; printf("%p
",str); printf("%p
",str1); printf("%s
",str); printf("%s
",str1); return 0;}
原创
3214阅读
0评论
5点赞
发布博客于 6 年前

linux下脚本录制工具——script和scriptreplay

在linux环境下,想要录制一段屏幕视屏不是特别方便。在做这次项目时,通过查找资料,找到了一种方便而且便捷的方法,分享给大家。linux下有script和scriptreplay这两个工具组合用于录制命令行。在新版本系统中,已经集成了这两个工具,所以直接使用即可:$script -t 2>timing.log -a >output.session$command$command$exit
原创
2796阅读
0评论
3点赞
发布博客于 6 年前

ubuntu64位安装ARM-linux-gcc

本人安装时是使用官方提供的arm-linux-gcc-4.5.1这个版本的。步骤如下:将安装包放入到本地的一个文件夹中,然后tar xvzf xxx.tar.gz -C / ,这样解压后的文件会在/opt/FriendlyARM/toolschain/4.5.1这个里面。接着是进入root权限,使用gedit /root/.bashrc 修改这个文件,添加export PATH=$PA
原创
1742阅读
1评论
3点赞
发布博客于 6 年前

Python学习笔记(九)

列表生成式:>>> [x * x for x in range(1, 11)][1, 4, 9, 16, 25, 36, 49, 64, 81, 100]复杂表达式:tds = ['%s%s' % (name, score) for name, score in d.iteritems()]print ''print 'NameScore'print '
'.join
原创
518阅读
0评论
1点赞
发布博客于 6 年前

Python学习笔记(八)

迭代:在Python中,如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们成为迭代(Iteration)。注意: 集合是指包含一组元素的数据结构,我们已经介绍的包括:1. 有序集合:list,tuple,str和unicode;2. 无序集合:set3. 无序集合并且具有 key-value 对:dictra
原创
370阅读
0评论
1点赞
发布博客于 6 年前

Python学习笔记(七)

切片:Python提供了切片(Slice)操作符,取前3个元素,用一行代码就可以完成切片:>>> L[0:3]['Adam', 'Lisa', 'Bart']L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。如果第一个索引是0,还可以省略:>>> L[:3]['Adam', 'Lisa', 'Bart']
原创
347阅读
0评论
1点赞
发布博客于 6 年前

Python学习笔记(六)

函数:调用python内置的函数,可以通过 help(fun)进行查询。举例:abs(x):求x绝对值cmp(x,y):比较两个数大小,如果 xy,返回 1。int(x):把其他数据类型转换为整数,包括字符串类型。str():把其他类型转换成 str。编写函数:def my_abs(x): if x >= 0: return
原创
408阅读
0评论
1点赞
发布博客于 6 年前

Python学习笔记(五)

set:set 持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。创建:调用 set() 并传入一个 list,list的元素将作为set的元素:>>> s = set(['A', 'B', 'C'])set会自动去掉重复的元素。访问:由于set存储的是无序集合,所以我们没法通过索
原创
429阅读
0评论
1点赞
发布博客于 6 年前

Python学习笔记(四)

Dict:用 dict 表示“名字”-“成绩”的查找表如下:d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59}名字称为key,对应的成绩称为value,dict就是通过 key 来查找 value。(key不能重复)花括号 {} 表示这是一个dict,然后按照 key: value, 写出来即可。最后一个 key: valu
原创
360阅读
0评论
1点赞
发布博客于 6 年前

Python学习笔记(三)

条件判断:if age >= 18: print 'adult'else: print 'teenager'具有相同缩进的代码被视为代码块。 if 语句后接表达式,然后用:表示代码块开始。elif 意思就是 else if:if age >= 18: print 'adult'elif age >= 6: print 'teena
原创
388阅读
0评论
1点赞
发布博客于 6 年前

Python学习笔记(二)

list:Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。L = ["Adam",95.5, "Lisa", 85, "Bart", 59]一个元素也没有的list,就是空list。通过索引可以获取list中的指定元素。使用索引时,千万注意不要越界。倒序索引:我们可以用 -1 这个索引来表示最后一个元素,类似的,倒
原创
417阅读
0评论
1点赞
发布博客于 6 年前

Python学习笔记(一)

一、整数整数的表示方法和数学上的写法一模一样,十六进制用前缀0x,八进制用前缀0。二、浮点数浮点数可以用数学写法,如2.56,3.14,-4.81,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x10^9就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。注:整数和浮点数在计算机内部存储的方式是不同的,整数运算
原创
526阅读
0评论
1点赞
发布博客于 6 年前

ubuntu下math.h头文件的编译问题

在ubuntu下写了个2次方函数,如下:/************************************************************************* > File Name: power.c > Author:AnSwEr > Mail:yuanweijie1993@gmail.com > Created Time: 2015年04月16日 星期
原创
3468阅读
3评论
1点赞
发布博客于 6 年前

第十二章 存储类、链接和内存管理

1.作用域:程序中可以访问一个标识符的一个或多个区域。一个代码块是指在开始花括号和对应结束花括号之间的一段代码,可是C99规定语句若为循环语句或者if语句,即使没有花括号,也为一个代码块。2.函数原型作用域从变量定义到原型声明结尾。3.一个在所有函数之外定义的变量具有文件作用域。文件作用域变量也被称为全局变量。4.空链接:具有代码块作用域或函数原型作用域的变量。5.具有文件作用域的
原创
556阅读
0评论
1点赞
发布博客于 6 年前

VIM中Ctags插件的常用方法

『插件介绍』Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等。比如,tags文件就是Taglist和OmniCppComplete工作的基础。『下载和安装』一、我是使用apt-get安装的:sudo apt-get install ctags
转载
929阅读
0评论
2点赞
发布博客于 6 年前

protobuf-c学习小结

由于项目的需要,利用了一下午进行了protobuf-c的学习,下面来总结一下。简介:protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了三种语言的实现:java、c++ 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。可以把它用于分布
原创
3425阅读
5评论
2点赞
发布博客于 6 年前

讨论main函数执行结束后还能在执行一段代码吗?

今晚突然脑中出现了这个问题,于是通过查找一些资料来进行一下解答。要实现这个功能就需要使用atexit()函数,乍一看似乎是和exit()函数有关系,所以我们就先来复习一下exit()函数。exit():通常是用在子程序中用来终结程序用的,使用后程序自动结束,跳回操作系统。main函数结束时也会隐式地调用exit()函数。原型:void exit(int state);sta
原创
2914阅读
0评论
2点赞
发布博客于 6 年前

第十一章 字符串和字符串数组

1.字符串(character string)是以空字符(\o)结尾的char数组。2.字符串常量属于静态存储(static storage)类。静态存储是指如果在一个函数中使用字符串常量,即使多次调用,该字符串在整个运行过程中只存储一份。3.*“string”应该产生所指向的地址中的值。即字符串“string”中的第一个字符。4.指定数组大小时,一定要确保数组元素比字符串长度多1(放
原创
610阅读
1评论
2点赞
发布博客于 6 年前

第十章 数组和指针

1.求数组元素个数:sizeof (num)/num[0]。2.指定初始化项目(C99):int arr[6]={[5]=212};//未初始化的元素都被设置为0特性:a)如果在一个指定初始化项目后跟有不知一个值,则这些值用来对后续的数组元素初始化。b)如果多次对一个元素初始化,则最后一次有效。3.C不支持把数组作为一个整体进行赋值,也不支持用花括号括起来的列表形式进行赋值(初始化
原创
523阅读
0评论
1点赞
发布博客于 6 年前

itoa函数的使用与说明

原型:char *itoa( int value, char *string,int radix);value:欲转换的数据;string:目标字符串的地址;radix:转换后的进制数,可以是10进制、16进制等。功能:把一个整数转换成字符串。说明:itoa 并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,请用sprintf。标准库中有sprintf,功能比
原创
18702阅读
1评论
8点赞
发布博客于 6 年前

system函数的使用与说明

函数名:system()头文件:函数原型:int system(const char * string);功能:system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string字符串所代表的命令,此命>令执行完后随即返回原调用的进程。在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT和SIGQUIT 信号则会被忽略
原创
4299阅读
0评论
5点赞
发布博客于 6 年前

getch函数的使用与说明

函数名:getch()原型:int getch(void);功能:在windows平台下从控制台无回显地取一个字符,在linux下是有回显的。在linux平台下时(即包含的是curses.h),还应该在使用函数之前使用initscr(),使用完毕之后调用endwin().否则的话不需输入就会返回。返回值:从键盘读取的字符。用法:常用作程序调试结束时,等待调试者按下任意键退出。
原创
3716阅读
0评论
4点赞
发布博客于 6 年前

atoi函数的说明与使用

atoi()函数:1.功能:把字符串转换成整型数。2.原型:int atoi(const char *nptr);说明: 参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。3.头文件:4.实例:源码:#inc
原创
8535阅读
0评论
3点赞
发布博客于 6 年前

第三章 文件 I/O

1.不带缓冲:每个read和write都调用内核中的一个系统调用。2.不带缓冲的I/O函数不是ISO C的组成部分,但是,它们是POSIX.1和Single UNIX Specification的组成部分。3.文件描述符是一个非负整数。当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符。4.open函数:打开或创建一个文件。
原创
637阅读
0评论
1点赞
发布博客于 6 年前

第九章 函数

1.函数(function)是用于完成特定任务的程序代码的自包含单元。使用函数可以省去重复代码的编写,在需要的地方调用即可;使程序更加模块化,有利于程序的阅读,修改和完善。2.实际参数是函数调用时出现在圆括号中的表达式。而形式参量则是函数定义中在函数头部声明的变量。3.returne 语句会终止函数执行并把控制返回给调用函数。4.无参数:void printf_name(void);
原创
417阅读
0评论
1点赞
发布博客于 6 年前

第二章 UNIX标准化及实现

1.ANSI是美国国家标准学会(American National Standards Institute)2.国际化标准组织(International Organization for Standardization,ISO)3.IEC是国际电子技术委员会(International Electrotechnical Commission)4.POSIX是一系列由IEEE(Inst
原创
703阅读
0评论
1点赞
发布博客于 6 年前