2014年08月04日 这博客已经一年多没更新没管过了……算是废了吧。主要是人懒,怨不得别人。 WordPress就是一坑,插件太多,搞顺畅太麻烦而且也太庞大了。所以觉得搞个轻量级的个人博客系统,后续博客转战blog.wangfu.info,功能随想着随加。

老鸟是这样调戏编程新手的~

2011年4月21日  4,069 views 没有评论

在CoolShell上看到一篇有意思的文章(原文链接),是说在comp.lang.c这个C语言新闻组上,
有个网友发了个求助帖,要完成一个课程作业,实现程序输出如下结果。结果被网上的老鸟调戏了……

    *
   ***
  *****
 *******
*********
*********
 *******
  *****
   ***
    *

有个回帖,给出了如下的代码……
阅读全文…

分类: 心得笔记 标签: , , , ,

Windows命令行下的GCC编译器

2011年4月21日  14,053 views 1 条评论

玩过Ubuntu的人都知道,可以在Ubuntu的终端直接使用GCC编译器来编译你的代码。可以说着是非常方便的,你不需要打开复杂的IDE,打开像Eclipse或者VS这样的IDE会耗费你很长的时间。对于编译一些简单小程序来说,这是非常麻烦的事情。

Windows并没有像Ubuntu一样直接带有编译器,当然,你可以安装VS,然后设置环境变量,使用VS的cl.exe编译器来编译程序,但是cl和gcc还是有些区别的。我从网上找到了一个可以在Windows下使用的GCC程序,是从dev-cpp里提取的核心文件共24个文件,压缩包只有1.3M解压后5M多,无需安装,便可直接使用,不喜欢直接删除,不留任何痕迹。可以编译一般的C代码,如科学计算,文件操作等,对于稍复杂的代码,根据情况添加库文件即可。若你是C的初学者,想体验一下命令行编译C代码,不妨试试。

gcc.exe在Bin目录下,如果你想像Ubuntu一样在命令行下使用gcc可以把解压文件夹中的bin目录的绝对路径包含到path系统变量中就可以了。在解压文件夹中有一个配置.bat可以完成此操作,但是需要注销一次系统,个人还是建议手动修改path变量。在此处我选择编辑的是用户变量,如果想让所有用户都可以使用的话可以编辑下面的系统变量Windows环境变量配置

附上gcc下载:

阅读全文…

分类: 心得笔记 标签: , ,

SyntaxHighlighter使用介绍

2011年4月19日  12,101 views 没有评论
我的博客中使用了WordPress的插件 SyntaxHighlighter 这是一个代码高亮、模式化的工具,能让你的代码在网页上以类似IDE编辑器里的样子高亮关键字。功能挺强的,支持的语言很多,我列在下面了。在文章的最后,我将SyntaxHighlighter自带帮助文档列了出来,并稍微翻译了一下。
具体用法:
  1. 在代码前根据代码语言的不同加上不同的[%Lang]在代码后加上[/%Lang],%Lang = 你用的语言对应的Brush aliases(具体对应罗列于下)。例如[@cpp]#include <stdio.h>[/cpp](@去掉)。
  2. 或者只用一次%Lang,[@code lang=%Lang]你的代码[/code]或者[@source lang=%Lang]你的代码[@source lang=%Lang],其中lang都可以换成language。

点击Brush name 有官方网站的详细介绍和Demo,有兴趣的童鞋可以去看看。对于技术类的博客来说,这种语法高亮插件是必不可少的欧~

Brush name Brush aliases File name
ActionScript3 as3, actionscript3 shBrushAS3.js
Bash/shell bash, shell shBrushBash.js
ColdFusion cf, coldfusion shBrushColdFusion.js
C# c-sharp, csharp shBrushCSharp.js
C++ cpp, c shBrushCpp.js
CSS css shBrushCss.js
Delphi delphi, pas, pascal shBrushDelphi.js
Diff diff, patch shBrushDiff.js
Erlang erl, erlang shBrushErlang.js
Groovy groovy shBrushGroovy.js
JavaScript js, jscript, javascript shBrushJScript.js
Java java shBrushJava.js
JavaFX jfx, javafx shBrushJavaFX.js
Perl perl, pl shBrushPerl.js
PHP php shBrushPhp.js
Plain Text plain, text shBrushPlain.js
PowerShell ps, powershell shBrushPowerShell.js
Python py, python shBrushPython.js
Ruby rails, ror, ruby shBrushRuby.js
Scala scala shBrushScala.js
SQL sql shBrushSql.js
Visual Basic vb, vbnet shBrushVb.js
XML xml, xhtml, xslt, html, xhtml shBrushXml.js

C++ 类的前置声明

2011年4月19日  4,035 views 2 条评论

原帖地址:http://software.intel.com/zh-cn/blogs/2010/05/04/c-2/

刚开始学习c++的人都会遇到这样的问题:

定义一个类 class A,这个类里面使用了类B的对象b,然后定义了一个类B,里面也包含了一个类A的对象a,就成了这样:

//a.h
#include "b.h"
class A
{
...
private:
    B b;
};
//b.h
#include "a.h"
class B
{
...
private:
    A a;
};

一编译,就出现了一个互包含的问题了,这时就有人跳出来说,这个问题的解决办法可以这样,在a.h文件中声明类B,然后使用B的指针。

阅读全文…

分类: 网络资源 标签: ,

C语言字符串处理函数

2011年4月19日  2,923 views 没有评论

C库函数中字符串处理函数集合

原文链接:http://blog.csdn.net/General1982/archive/2009/03/21/4012566.aspx

bcmp
原型:extern int bcmp(const void *s1, const void *s2, int n);
用法:#include <string.h>
功能:比较字符串s1和s2的前n个字节是否相等
说明:如果s1=s2或n=0则返回零,否则返回非零值。bcmp不检查NULL。 

bcopy
原型:extern void bcopy(const void *src, void *dest, int n);
用法:#include <string.h>
功能:将字符串src的前n个字节复制到dest中
说明:bcopy不检查字符串中的空字节NULL,函数没有返回值。

bzero
原型:extern void bzero(void *s, int n);
用法:#include <string.h>
功能:置字节字符串s的前n个字节为零。
说明:bzero无返回值。

memccpy
原型:extern void *memccpy(void *dest, void *src, unsigned char ch, unsigned int count);
用法:#include <string.h>
功能:由src所指内存区域复制不多于count个字节到dest所指内存区域,如果遇到字符ch则停止复制。
说明:返回指向字符ch后的第一个字符的指针,如果src前n个字节中不存在ch则返回NULL。ch被复制。

阅读全文…

分类: 网络资源 标签: , ,

Delphi单元文件Unit结构详细解释

2011年4月19日  4,123 views 没有评论
unit Unit1;   
  
interface  
  {接口部分开始}  
uses  
  {引用单元列表,这是可选的,如果包含必须紧跟interface关键字}  
  
  {接口部分声明常量/类型/变量/过程和函数,这些声明对引用单元就像自己的声明一样}  
  {在接口部分声明的过程和函数,就像使用了forward关键字}  
  
  
  {接口部分结束}  
implementation  
  {实现部分}  
uses  
  {如果包含uses字句,必须紧跟关键字implementation}  
  {在这里实现interface中定义的过程和函数,可以任意顺序的定义和调用.}  
  {在这里可以省略过程和函数的列表,如果包括,必须一样.}  
  {可以定义单元私有的常量/类型(包括类)/变量/过程和函数,但这些对引用单元的客户是不可见的}  
  
{$R *.dfm}  
  {如果是对应窗体的单元文件,会有这句. $R 指令用于加载一个外部资源文件, 这里是指加载同名的窗体文件一起编译.}  
initialization  
  {初始化部分}  
  {程序启动时先执行,并顺序执行}  
  {一个单元的初始化代码运行之前,就运行了它使用的每一个单元的初始化部分}  
finalization  
  {结束化部分,程序结束时执行}  
end. 
分类: 网络资源 标签: