文章分类
职位技能
常用语言
< 暂无 >
常用工具
< 暂无 >
擅长技能
< 暂无 >
五、定义模式规则 你可以使用模式规则来定义一个隐含规则。一个模式规则就好像一个一般的规则,只是在规则中,目标的定义需要有&quot;%&quot;字符。&quot;%&quot;的意思是表示一个或多个任意字符。在依赖目标中同样可以使用&quot;%&quot;,只是依赖目标中的&quot;%&quot;的取
1年前发布 2267阅读 评论
?隐含规则 ———— 在我们使用Makefile时,有一些我们会经常使用,而且使用频率非常高的东西,比如,我们编译C/C++的源程序为中间目标文件(Unix下是[.o]文件,Windows下是[.obj]文件)。本章讲述的就是一些在Makefile中的“隐含的”,早先约定了的,不需要我们再写出来的规
1年前发布 2025阅读 评论
make 的运行 —————— 一般来说,最简单的就是直接在命令行下输入make命令,make命令会找当前目录的makefile来执行,一切都是自动的。但也有时你也许只想让make重编译某些文件,而不是整个工程,而又有的时候你有几套编译规则,你想在不同的时候使用不同的编译规则,等等
1年前发布 2111阅读 评论
四、foreach 函数 ? foreach函数和别的函数非常的不一样。因为这个函数是用来做循环用的,Makefile中的foreach函数几乎是仿照于Unix标准Shell(/bin/sh)中的for语句,或是C-Shell(/bin/csh)中的foreach语句而构建的。它的语法是: ? ??? $(foreach &lt;var&gt;,&lt;list&gt
1年前发布 2250阅读 评论
使用函数 ———— 在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。make所支持的函数也不算很多,不过已经足够我们的操作了。函数调用后,函数的返回值可以当做变量来使用。 一、函数的调用语法 函数调用,很像变量的使用,也是以“$”
1年前发布 2056阅读 评论
六、多行变量 ? 还有一种设置变量值的方法是使用define关键字。使用define关键字设置变量的值可以有换行,这有利于定义一系列的命令(前面我们讲过“命令包”的技术就是利用这个关键字)。 define指示符后面跟的是变量的名字,而重起一行定义变量的值,定义是以endef关键字结
1年前发布 2315阅读 评论
使用变量 ———— 在Makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串,在Makefile中执行的时候其会自动原模原样地展开在所使用的地方。其与C/C++所不同的是,你可以在Makefile中改变其值。在Makefile中,变量可以使用在“目标”,“依赖目标”,“
1年前发布 2195阅读 评论
书写命令 ———— 每条规则中的命令和操作系统Shell的命令行是一致的。make会一按顺序一条一条的执行命令,每条命令的开头必须以[Tab]键开头,除非,命令是紧跟在依赖规则后面的分号后的。在命令行之间中的空格或是空行会被忽略,但是如果该空格或空行是以Tab键开头的,那么m
1年前发布 2103阅读 评论
Netty作为一个高性能的异步网络开发框架,可以作为各种服务的开发框架。 前段时间的一个项目涉及到硬件设备实时数据的采集,采用Netty作为采集服务的实现框架,同时使用RabbitMQ作为采集服务和各个其他模块的通信消息队列,整个服务框架图如下: 将业务代码和实际协议解析部分
1年前发布 3754阅读 评论
开源一款自己刚开始接触 C# 时开发的带有农历信息的日期选择控件,记得那时还是在2010年的寒假期间做的这个东西。刚开始接触 C# 时,使用WinForm来开发桌面程序,觉得简直是简单又迅速,由于 C# 本身没有提供农历的日期控件,因此就造了这第一个轮子,项目的地址在这里。 包含
1年前发布 2876阅读 评论
UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份。UUID 的目的,是让分布式系统中的所有元素,
1年前发布 2734阅读 评论
简介: Java序列化,就是指将一个对象转化为二进制的byte流(注意,不是bit流),然后以文件的方式进行保存。 序列化操作:将对象保存至文件; 反序列化操作:从文件恢复出对象; 配置: 对象如果要序列化,则必须集成Serializable接口; 在实现序列化时,用ObjectOutputStrea
1年前发布 3243阅读 评论
Java受到全球百万计开发者的追捧,已经演变为一门出色的编程语言。最终,这门语言随着技术的变化,不断的被改善以迎合变化的市场需求。 无论你是否拥有一家科技公司,软件已经成为几乎每一个企业不可或缺的一部分,为了吸引你潜在的顾客,你应该交付给客户一个技术上有创新的
1年前发布 3494阅读 评论
无论你使用的是台式电脑还是笔记本,需要关注的重点之一都是如何保护好你的宝贵数据。因为总会有各种突发情况使你的系统崩溃,然后你要做的就是恢复数据。不管你怎么想,要是我失去了所有的数据却无法恢复的话,我会分分钟肢解了这台破电脑。不过幸好的是,现在市场上有不少的
1年前发布 3913阅读 评论
一、一个问题 在StackOverflow上有这么一个问题 Why is processing a sorted array faster than an unsorted array? 。例子中,对一个数组进行条件求和,在排序前和排序后,性能有很大的差别。原始的例子是C++和Java的,这里将其换成了C# : static void Main(string[] args)
1年前发布 3973阅读 评论
好的技术问题通常会引出技术专家们依据经验得出的深层次的观点。但对于这样的问题的答案也很容易演变成完全基于个人喜好的情绪倾泄,而不是根据事实、标准和具体的专业知识。就比如本文的这个标题,如果你是一个SVN的坚定支持者,你完全可以把这句话反过来问。 我使用SVN有5年
1年前发布 24373阅读 评论
存储的瓶颈写到现在就要进入到深水区了,如果我们所做的网站已经到了做数据库垂直拆分和水平拆分的阶段,那么此时我们所面临的技术难度的挑战也会大大增强。 这里我们先回顾下数据库的垂直拆分和水平拆分的定义: 垂直拆分:把一个数据库中不同业务单元的数据分到不同的数据库
1年前发布 3671阅读 评论
上篇里我讲到某些网站在高并发下会报出503错误,503错误的含义是指网站服务端暂时无法提供服务的含义,503还表达了网站服务端现在有问题但是以后可能会提供正常的服务,对http协议熟悉的人都知道,5开头的响应码表达了服务端出现了问题,在我们开发测试时候最为常见的是500错
1年前发布 2856阅读 评论
前不久公司请来了位互联网界的技术大牛跟我们做了一次大型网站架构的培训,两天12个小时信息量非常大,知识的广度和难度也非常大,培训完后我很难完整理出全部听到的知识,今天我换了个思路是回味这次培训,这个思路就是通过本人目前的经验和技术水平来思考下大型网站技术演进
1年前发布 2287阅读 评论
谷歌,被公认为全球最大搜索引擎,是一家真正牛逼的互联网科技公司。谷歌多年盘踞“全球最佳雇主榜”前几位并且曾经数次蝉联榜首,而它选拔聘用人才的标准也是出了名的高。 那些从事计算机、工程、人文科学甚至自然科学院系毕业的人,都希望为谷歌效力,待在谷歌,你在无形中
1年前发布 4691阅读 评论