0%

2015年12月8日 16:48:31

此中测试代码见笔记 《Makefile入门》

Makefile 之执行过程

  1. 依次读取变量“MAKEFILES”定义的 makefile 文件列表
  2. 读取工作目录下的 makefile 文件(根据命名的查找顺序“GNUmakefile”,“makefile”,“Makefile”,首先找到那个就读取那个)
  3. 依次读取工作目录 makefile 文件中使用指示符“include”包含的文件
  4. 查找重建所有已读取的 makefile 文件的规则(如果存在一个目标是当前读取的某一个 makefile 文件,则执行此规则重建此 makefile 文件,完成以后从第一步开始重新执行)
  5. 初始化变量值并展开那些需要立即展开的变量和函数并根据预设条件确定执行分支
  6. 根据“终极目标”以及其他目标的依赖关系建立依赖关系链表
  7. 执行除“终极目标”以外的所有的目标的规则(规则中如果依赖文件中任一个文件的时间戳比目标文件新,则使用规则所定义的命令重建目标文件)
  8. 执行“终极目标”所在的规则
阅读全文 »

2016年1月4日 10:05:04

shell 及环境变量 -1.4 其他

参数置换

shell提供了参数置换能力以便用户可以根据不同的条件来给变量赋不同的值。参数置换的变量有四种,这些变量通常与某一个位置参数相联系,根据指定的位置参数是否已经设置类决定变量的取值,它们的语法和功能分别如下。

  • 变量=${参数-word}:如果设置了参数,则用参数的值置换变量的值,否则用 word 置换。即这种变量的值等于某一个参数的值,如果该参数没有设置,则变量就等于 word 的值。
  • 变量=${参数=word}:如果设置了参数,则用参数的值置换变量的值,否则把变量设置成 word 然后再用 word 替换参数的值。注意,位置参数不能用于这种方式,因为在 shell 程序中不能为位置参数赋值。
  • 变量=${参数?word}:如果设置了参数,则用参数的值置换变量的值,否则就显示 word 并从 shell 中退出,如果省略了 word,则显示标准信息。这种变量要求一定等于某一个参数的值,如果该参数没有设置,就显示一个信息,然后退出,因此这种方式常用于出错指示。
  • 变量=${参数+word}:如果设置了参数,则用 word 置换变量,否则不进行置换。
阅读全文 »

2016/3/16 12:17:18

汇总 3 篇。此处 shell 指工具,不涉及 shell 编程、脚本等知识。

shell 和简单操作

shell 简介

Shell 是什么呢? 确切地说,Shell 就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给操作系统内核,它为用户提供了一个向 Linux 发送请求以便运行程序的接口,用户可以用 Shell 来启动、挂起、停止甚至是编写一些程序。

Linux Shell的种类 很多,目前流行的 Shell 包括 ash、bash、ksh、csh、zsh 等,用户可以通过查看 /etc/shells 文件中的内容来查看自己主机中当前有哪些种类的 Shell。

阅读全文 »

2015年11月20日 14:31:06

从月初开始接触 linux 开发,真心是磕磕绊绊。简单的使用,查阅一些操作命令这些都不是问题,困难主要在于 linux 下的开发。

  1. 大学有一本 unix 的教材,至少看了前五章。自己也折腾安装过 linux 的系统,从 CentOS、Fedora 到 debian,安装后也简单的操作过,虽说没有任务驱动最终也不了了之。但多少不认生。
  2. 公司的开发环境是有几台 suse 的服务器,在不同的局域网里。远程连接上去进行开发。使用的工具是 Xbrowser,其中包括 Xshell、Xftp 等。最开始两天使用过其中的 XDMCP 以图形界面操作局域网 A 中一台服务器,唯一的感受就是卡,画面的操作很不流畅,严重影响使用体验。一开始使用 suse 企业版 10 远程图形界面操作一般,后来重装系统 open suse linux 10 之后,XDMCP 的操作体验变得很糟糕。
  3. XDMCP 的使用,需要在服务器上进行有关的设置。后来在 57(局域网B中服务器的 ip)服务器上开发,工作组成员都没有此服务器的 root 权限。再没有使用图形界面,使用 Xshell+Xftp,使用 Xshell 进行和开发有关的操作,使用 Xftp 进行文件的传输和文本的编辑。基本上就是在主机上使用 notepad++ 编辑代码,通过 Xftp 同步到服务器,在 Xshell 中进行编译、运行操作(还没有掌握 gdb,调试处于看错误输出,改项目源码的阶段)。在 Xftp 中可以直接打开服务器上的源码进行编辑保存操作,所以还是比较方便的。
  4. 目前阶段这种“拼凑”的开发方式还是足够用的,但能明显感觉到瓶颈。对 vim 的操作止于零,这个周末在家练习,一步步把 vim 搭建成开发环境。+ makefile文件 + gdb
  5. 有时间了补足一下 x- 系列的操作步骤,虽然简单,但当时在网上没找到有关的介绍,前后也花费了大半天时间。
阅读全文 »

2016/3/26 20:07:56

条件编译是应用较为广泛的一个概念,不限于编译器。但在这里,只讲如何在 VS2010 一个项目中使用条件编译实现不同的版本。

只放链接,以后再次用到时再做整理。

要有主动性

L
工作态度是第一位的,工作能力其次。
工作过程中要有主动性,不能让主管耳提面命的,整天催着才干活。
要有责任心。

W
做产品和做研发不一样。
做研发关注技术,关注深度。新员工有人指点技术?。
做产品,强调解决问题。对技术、框架有丰富的了解(强调数目),在众多的技术和框架中找到解决问题的最优方案,然后可能才是深挖这个技术怎么用。所以哪怕是老员工,也都是在接手新任务,了解新框架,学习代码……所以,有时间多了解新技术、新框架,在有新产品,新任务的时候才能有做选择的资本。

阅读全文 »

2016年3月20日 16:57:20

不能西瓜芝麻一起捡!筛选信息关键在于过滤,过滤掉那些价值低、随时间贬值快、内容表述糟糕的博客、文章和笔记等,值得在 wiz 和大象中花费时间整理总结的是那些半衰期长、价值高的内容。个人偶尔的牢骚也是不值得记录的,只有那些经过反复思考、辩证过的蜕变成长才值得记录。

如果泥沙俱下,都往 wiz 和大象里誊抄,一方面放弃了信息过滤这一层保障,另一方面也会浪费自己大量的时间,累死人。

即便是以前付出过心血的东西,该放弃时也要丢弃。懂得取,也要知行合一。

阅读全文 »

在为知笔记里有一个文件夹《读一读》,是觉得有意思应该看一看的博客,可是一放少则几个月,多则一两年过去了。有点类似于 chrome 中的僵尸书签,觉得有用做了标记,可是一直扔在那里占着地方却再也没有翻起。

还有个类似的行为,买书、囤书却不读书。哈哈哈,为什么呢?怎么解决这种行为,这种现象呢?互联网时代在网络上优质资源混杂在垃圾信息里,怎么筛选出有价值的内容?进入新世纪后,出书也变得简单,不再有门槛限制,也是出来了各种各样的垃圾,怎么挑选?

阅读全文 »