不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2016-01-31 21:29  分类:Linux_C  编辑

Automake

Automake是一个从文件 Makefile.am 自动生成 Makefile.in 的工具。每个 Makefile.am 基本上是一系列 make 的宏定义 (make规则也会偶尔出现)。生成的 Makefile.in 服从 GNU Makefile 标准。GNU Makefile 标准文档长、复杂,而且会发生改变。Automake 的目的就是解除个人GNU维护者维护 Makefile 的负担 (并且让Automake的维护者来承担这个负担)。

作者:php-note.com  发布于:2016-01-30 23:33  分类:电脑/软件使用  编辑

1、确认已插入 Unifying 接收器;

2、如何您还没有下载 Logitech Unifying 软件,请访问 www.logitech.com/unifying 下载该软件

作者:php-note.com  发布于:2016-01-30 15:52  分类:Linux_C  编辑

make 是一个命令,用来解析 makefile 文件;makefile 是一个文件,用来告诉 make 命令,如何编译整个工程,生成可执行文件。再打个比方:

导演 == make

剧本 == makefile

演员 == MAKE调用的外部命令,如编译器、链接器等

电影 == 生成的程序

作者:php-note.com  发布于:2016-01-29 16:49  分类:Linux_C  编辑

gcc 是GNU Compiler Collection,原名为Gun C语言编译器,因为它原本只能处理C语言,但gcc很快地扩展,包含很多编译器(C、C++、Objective-C、Ada、Fortran、 Java),可以说gcc是GNU编译器集合。

g++ 是C++编译器。

cc 是 Unix系统的 C Compiler,一个是古老的 C 编译器。而 Linux 下 cc 一般是一个符号连接,指向 gcc;可以通过 $ ls -l /usr/bin/cc 来简单察看,该变量是 make 程序的内建变量,默认指向 gcccc 符号链接和变量存在的意义在于源码的移植性,可以方便的用 gcc 来编译老的用cc编译的Unix软件,甚至连 makefile 都不用改在,而且也便于 Linux 程序在 Unix下 编译。

CC 则一般是 makefile 里面的一个名字标签,即宏定义,表示采用的是什么编译器(如:CC = gcc)。

作者:php-note.com  发布于:2016-01-28 23:15  分类:电脑/软件使用  编辑

当把某个文件“Mark as Plain Text”时,该文件被当做普通文本,就不会有“代码自动完成提示”功能,如下图所示:

如何撤销呢?

作者:php-note.com  发布于:2016-01-28 10:27  分类:Linux软件安装/优化  编辑
jianbao@jianbao-pc:/www/软件开发$ tree 
.
├── PPT
│   └── PHP性能监控与优化.pptx
├── 电子书
│   ├── Linux.环境C程序设计.徐诚.扫描版.pdf
│   └── UNIX环境高级编程(中文第三版)_扫描版.pdf
├── 视频
│   └── PHP_C扩展
│       ├── PHP扩展开发教程.mp4
│       ├── swoole第三节第4部分.mp4
│       ├── swoole视频教程第3节 swoole服务器的进程_线程模型.mp4
│       └── 其他
│           ├── swoole-chat第二节第二部分.mp4
│           ├── swoole-chat第二节第三部分.mp4
└── 手册
    └── php_enhanced_zh.chm

 

作者:php-note.com  发布于:2016-01-27 22:23  分类:Linux_C  编辑

g++(gcc)编译选项

  • -shared :指定生成动态链接库。
  • -static :指定生成静态链接库。
  • -fPIC :表示编译为位置独立的代码,用于编译共享库。目标文件需要创建成位置无关码,念上就是在可执行程序装载它们的时候,它们可以放在可执行程序的内存里的任何地方。
  • -L. :表示要连接的库所在的目录。
  • -l:指定链接时需要的动态库。编译器查找动态连接库时有隐含的命名规则,即在给出的名字前面加上lib,后面加上.a/.so来确定库的名称。
  • -Wall :生成所有警告信息。
  • -ggdb :此选项将尽可能的生成gdb的可以使用的调试信息。
  • -g :编译器在编译的时候产生调试信息。
  • -c :只激活预处理、编译和汇编,也就是把程序做成目标文件(.o文件)。
  • -Wl,options :把参数(options)传递给链接器ld。如果options中间有逗号,就将options分成多个选项,然后传递给链接程序。
作者:php-note.com  发布于:2016-01-25 17:33  分类:Linux软件安装/优化  编辑

拷贝“链接文件”到“共享文件夹”中,报错:

作者:php-note.com  发布于:2016-01-25 16:21  分类:Linux_C  编辑

为什么要将 libapue.a 移到 /usr/local/lib 中呢?

因为 libapue.a 是 apue.h 头文件中包含的所有函数及宏定义的具体实现,是一个静态链接库。

查看 ld.conf.d/libc.conf 你会发现 gcc 在搜索链接库的时候默认会去搜索 /usr/local/lib/ 中的文件,所以我们将其放在这里,一劳永逸。

作者:php-note.com  发布于:2016-01-23 21:55  分类:Linux软件安装/优化  编辑

apt-get update 升级软件列表;

apt-get install 安装新软件包

apt-get remove 卸载已安装的软件包(保留配置文档)

apt-get –purge remove 卸载已安装的软件包(删除配置文档)

作者:php-note.com  发布于:2016-01-17 11:33  分类:Linux软件安装/优化  编辑

常用命令:

$ sudo update-rc.d nginx defaults      #增加服务
$ sudo update-rc.d -f nginx remove    #移除服务

在Debian中安装新服务时,默认是开机启动的。例如,如果你安装了Nginx,Nginx服务会在下次开机时自启动。如果你不想Nginx开机自启动,你就要自己移除 /etc/rcX.d/SYYnginx 或使用 update-rc.d。而使用update-rc.d的优势很明显,它会自己移除、增加对/etc/init.d/内的链接。

作者:php-note.com  发布于:2016-01-16 12:15  分类:Linux软件安装/优化  编辑

问题1

按照文章“U盘安装Windows 7 + Ubuntu 14 双系统笔记”在 Windows 7 基础上安装了 Ubuntu 14 系统,实现双系统切换,某一天,

通过如下命令行

sudo apt-get remove sogoupinyin

删除“搜狗输入法”,结果重启系统后,再也进不了桌面,最可恶的是,按快捷键“Ctrl + Alt + F1” 也进不了终端命令行。

作者:php-note.com  发布于:2016-01-11 12:00  分类:Linux软件安装/优化  编辑

一、vsftp安装篇

# 安装vsftpd
yum -y install vsftpd
# 启动
service vsftpd start
# 开启启动
chkconfig vsftpd on
作者:php-note.com  发布于:2016-01-11 01:06  分类:Linux软件安装/优化  编辑

卸载 Ubuntu 12 自带的 IBus 输入法(框架):

sudo apt-get purge ibus
sudo apt-get autoremove

安装国产的小企鹅输入法(框架) Fcitx:

sudo add-apt-repository ppa:fcitx-team/nightly
sudo apt-get update
sudo apt-get install fcitx fcitx-pinyin
作者:php-note.com  发布于:2016-01-10 15:22  分类:PHP库/系统/微信  编辑

介绍swoole扩展,从源码的下载,环境依赖,编译参数配置,常见编译问题,安装,配置等内容。期间还会介绍:

  • Linux发行版本的选择
  • 不同版本内核的差异
  • gcc/g++/clang 3种编译器介绍
  • autoconf、cmake的介绍
  • ldconfig介绍
  • nm/strip介绍
  • 生成libswoole.so动态链接库
作者:php-note.com  发布于:2016-01-10 08:59  分类:系统设计/架构  编辑

现在,大部分App的接口都采用RESTful架构,RESTFul最重要的一个设计原则就是,客户端与服务器的交互在请求之间是无状态的,也就是说,当涉及到用户状态时,每次请求都要带上身份验证信息。实现上,大部分都采用token的认证方式,一般流程是:

  1. 用户用密码登录成功后,服务器返回token给客户端;
  2. 客户端将token保存在本地,发起后续的相关请求时,将token发回给服务器;
  3. 服务器检查token的有效性,有效则返回数据,若无效,分两种情况:
    • token错误,这时需要用户重新登录,获取正确的token
    • token过期,这时客户端需要再发起一次认证请求,获取新的token
作者:php-note.com  发布于:2016-01-09 11:18  分类:PHP库/系统/微信  编辑

Rango会讲解在Linux下从零开始写一个PHP扩展,并编译安装到PHP里,一直到执行扩展中的函数。包含的内容有:

  • 为什么要开发PHP扩展
  • ext_skel工具的使用
  • 修改config.m4
  • phpize的使用
  • 必备工具,autoconf / gcc / make / php5 / php5-dev
  • ZendAPI的使用简介,会介绍几个重要的API
作者:php-note.com  发布于:2016-01-08 20:37  分类:Linux软件安装/优化  编辑

在 VirtualBox 中安装了 Ubuntu 12,一直使用 2D 桌面,3D桌面没用上,估计是电脑配置低的问题。

左边启动器的图标特别大,占据了很多的桌面空间,打算调小点。奇怪的是,在“系统设置”里,没有找到“修改左边启动器图标大小”的快捷方式。

不过,可以修改相应的配置文件

作者:php-note.com  发布于:2016-01-08 15:44  分类:Linux软件安装/优化  编辑

IBus(Sun PinYin)是 Ubuntu 12 自带的中文输入法,是由Sun公司开发的。默认情况下,有些操作习惯跟Windows下的“搜狗输入法”不一样,不过呢,是可以个性化定制/设置的。

在终端执行命令:

$ /usr/lib/ibus-sunpinyin/ibus-setup-sunpinyin

 打开 “Sun PinYin Setup” 对话框:

作者:php-note.com  发布于:2016-01-07 19:30  分类:Linux软件安装/优化  编辑

在 Ubuntu 12 中使用 PhpStorm 10.x,CheckOut项目后,Event Log 提示:

Subversion command line client version is too old

就是说 SVN 太老了,通过如下命令查看版本:

$ svn --version
svn,版本 1.6.17 (r1128011)

安装的是 SVN 1.6 版,挺老的,现在主流的都是 SVN 1.8了,可通过如下方式升级SVN: