发布于 2018-03-17 22:22:26

C/C++编译时的ld和cpp

UPDATE: 该内容有点含混不清,请看最后。我一直对C/C++编译时的一些概念不太清楚,主要也是没有系统地去了解过,一直都是零散的接触。我在编译一些老旧程序时,经常会遇到调用ld和cpp这两个程序的,我一直搞不懂它们是干什么用的。经过学习,我大概知道它们是干什么的了。要注意的是,我们这里所说的cpp指的是The C Preprocessor,而不是C++。而ld指的是The GNU linker...

阅读全文 »

发布于 2018-03-12 16:07:21

剖析3.5mm音频口

3.5mm音频口可以说是我们日常生活中最常使用的接口之一了。但是,你真的了解它吗?Motivation万事总有起因。我在暑假的时候(对,你没看错就是暑假,这篇晚了大半年的博客),当时在无锡,由于只带了一个耳麦,而我实验室和宾馆都需要话筒,又不想来回带,就很尴尬。至于为什么实验室需要话筒,那是因为宾馆实在太过无聊,有时候就在实验室待到晚上十一二点再回去,干一天活实在需要调节一下,偶尔就会玩会游戏。于...

阅读全文 »

发布于 2018-03-08 23:22:54

Linux安装ftp客户端

有一些发行版没有ftp,找了很久也没找到去哪能找到源码。最后去有ftp的发行版查了半天,在Ubuntu下找到了点信息,Ubuntu的ftp是在一个叫netkit的库里,Ubuntu自带的版本在这里,最新官方下载地址在这里,安装帮助在这里。后来WXC和我局发现arch里面的ftp是在一个叫inetutils的库里,属于GNU。这是官方网站,可以在这里下载。编译安装就比较简单了。wget http:/...

阅读全文 »

发布于 2018-03-07 23:01:14

使用dd备份存储设备

我们可以使用dd很方便地把任何存储设备或者其下面的某个分区按字节备份到某个文件中,也可以从某个文件写回存储设备。dd的用法也很简单。执行dd if=源 of=目的即可。下面举几个例子:dd if=/dev/sda of=/dev/sdb:将设备/dev/sda按字节复制到/dev/sdb中,相当于硬盘对拷。dd if=/dev/sdb of=/opt/SDCard.img:将设备/dev/sdb按...

阅读全文 »

发布于 2018-03-06 23:49:42

安装配置TUNA直播系统

首先,这是一个带弹幕的直播系统,弹幕使用的是上一篇文章中配置的系统。说是TUNA直播系统,实际上用的只是TUNA的弹幕系统和直播的前端页面,核心的还是Nginx的rtmp功能。但是Nginx本身是没有rtmp功能的,我们需要扩展来实现。而加入扩展就需要我们手动编译安装Nginx。下面就来详细介绍一下整个过程。首先编译安装带nginx-rtmp-module扩展的Nginx。其中需要安装pcre库(...

阅读全文 »

发布于 2018-03-05 23:33:08

安装配置TUNA弹幕系统

TUNA弹幕系统的客户端项目地址在https://github.com/tuna/danmaQ,在下方有说明,Windows可以直接在https://github.com/tuna/danmaQ/releases/下载到二进制软件。只要配置好服务器端,客户端按软件提示设置一下即可,因此下面着重讲解服务端的安装与配置。服务端项目地址在https://github.com/tuna/gdanmaku-...

阅读全文 »

发布于 2018-02-28 22:11:51

CentOS 6升级python至2.7并安装最新pip

CentOS 6自带的是python 2.6.6,很多软件需要2.7才行运行。但是又不能通过yum来装,因为里面没有新版本。首先下载python源码并解压wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgztar zxvf Python-2.7.14.tgzcd Python-2.7.14在编译安装之前,需要安装一些库,否则...

阅读全文 »

发布于 2018-02-27 22:44:24

常用简单iptables操作与设置

允许5000端口的tcp入和出:iptables -I INPUT -p tcp --dport 5000 -j ACCEPTiptables -I OUTPUT -p tcp --sport 5000 -j ACCEPT保存iptables设置到文件:iptables-save > /etc/fz-iptables从文件读取iptables设置:iptables-restore < ...

阅读全文 »

发布于 2018-02-25 15:10:13

C与C++中函数的互相调用

考虑两种情况:一是在C++中调用C的函数,二是在C中调用C++的函数。首先要确定一个问题,在这里我们的C文件使用gcc编译,CPP文件使用g++编译。假设如果我们都采用g++编译的话,这意味着所有函数调用格式都是CPP的,也就不存在C和CPP的区别了。对于这种调用问题,我们知道一般是使用extern关键字来解决,下面就来讲解它的具体用法。首先要说明一下是,extern关键字是用来声明而不是定义的,...

阅读全文 »