Program Design
文章平均质量分 76
我们编程吧
我们编程吧
Letsprogramming
展开
-
关于strcpy、memset、memcpy的使用详解
关于strcpy、memset、memcpy的使用详解原创 2010-08-13 16:20:00 · 1079 阅读 · 0 评论 -
libcap获取适配器列表,并在屏幕上显示出来,如果没有找到适配器,将打印错误信息。
#include "pcap.h"main(){ pcap_if_t *alldevs; pcap_if_t *d; int i=0; char errbuf[PCAP_ERRBUF_SIZE]; /* 获取本地机器设备列表 */if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL /* auth is not needed */, &alldevs, errbuf) == -1)原创 2010-11-04 11:31:00 · 1081 阅读 · 0 评论 -
用 Microsoft Visual C++ 创建一个使用 wpcap.dll 的应用程序,
<br />用 Microsoft Visual C++ 创建一个使用 wpcap.dll 的应用程序,需要按一下步骤: 在每一个使用了库的源程序中,将 pcap.h 头文件包含(include)进来。 如果你在程序中使用了WinPcap中提供给Win32平台的特有的函数, 记得在预处理中加入WPCAP 的定义。 如果你的程序使用了WinPcap的远程捕获功能,那么在预处理定义中加入HAVE_REMOTE。不要直接把remote-ext.h直接加入到你的源文件中去。 设置VC++的链接器(Linker),把原创 2010-11-04 11:34:00 · 1581 阅读 · 0 评论 -
郁闷了,硬件和软件
<br /> 昨天花了一下午的时间写了一个32位转成4个8位,然后按要求拼接的32位数据<br />软件实现起来算是比较麻烦的,不过在思考的过程中得到了很多关于位操作的经验。<br /><br /> 不过到最后没有用而已,直接用硬件一个reverse就搞定了。<br /><br /> 看来虽然软件开发周期和简易性都比较好,不过有些东西还是不能和硬件编程VHDL相比。<br /> For example:算法的并行性和速度瓶颈。---->原创 2010-11-18 09:11:00 · 486 阅读 · 0 评论 -
Netbeans 安装和配置 C/C++ 支持
下载 C/C++ 支持<br /> <br />如果尚未安装 NetBeans 6.0 IDE,请转至 NetBeans IDE 6.0 Download 页,然后下载包含 C/C++ 支持的 IDE 版本。如果已安装 NetBeans IDE 6.0,但未包含 C/C++ 支持,请完成以下步骤为 IDE 添加 C/C++ 支持。如果网络使用代理,请从主菜单中选择“工具”>“选项”,选择“手动代理设置”,输入代理的 HTTP 代理和端口,然后单击“确定”。 从主菜单中选择“工具”>“插件”。 在“插件”对话原创 2011-03-24 12:41:00 · 3863 阅读 · 0 评论 -
用 indent 进行代码格式化
What is Indent indent就是代码格式化程序,能让程序更加的易读。可以从一种方式的C类型转换成另一种格式。 indent熟悉大量的C语法,可以通过设置来进行格式化代码。 Download Current Version: GNU indent 2.2.7。 Download : ftp.gnu.org/gnu/indent/indent-2.2.7.tar.gz 简单例子 写个最简单的没有经过任何修饰的helloworld: 使用indent以后: 可以看到的变化为:原创 2011-05-13 06:09:00 · 824 阅读 · 0 评论 -
linux平台下的集成开发环境、RAD工具和GUI-builder
Integrated Development Environments + RAD tools + GUI-builders on Linux: General/Editors: Amy (HTML, C, C++, Java, SQL, LaTeX, Makefiles and many more languages) blIDE (incomplete; no downloads as of yet) IBM's Eclipse (an extensible原创 2011-05-21 05:27:00 · 2779 阅读 · 0 评论 -
Ubuntu8.04下安装Eric以及使用QtDesigner4教程
1、下载安装Eric:<br />全部安装软件均可以在Ubuntu下的新立得软件包管理器中搜索安装。几个必须安装的软件:<br />Eric、Qt4、PyQt4.<br />2、配置Eric:<br />安装完成后,第一次启动Eric会有一个配置界面,如果不及时配置则也可以在settings->references下面进行配置。<br />展开左侧Editor,打开Autocompletion,选中Autocomplition Enabled,然后将下面的选项全部选上。source下选中from Docum原创 2011-04-04 16:02:00 · 3190 阅读 · 0 评论 -
解决multiple definition of的方法
因为最近编写的一个程序,工程量比较大。 只是子文件就10+多个了,所以,将一些全局变量全部声明在了自己定义的shao.h头文件中了。 今天又增加了一个解算模型的子函数,在编译的时候就报了multiple definition of **的错误。 google了一下,问题原因及解决方法如下: 问题原因: 当多个文件包含同一个头文件时,并且你的.H里面没有加上条件编译 #ifndef TEST_H #define TEST_H #endif 就会独立的解释,然后生成每原创 2011-05-26 09:13:00 · 5837 阅读 · 0 评论 -
fgets,fputs,gets,puts
<br /><br /> <br />fgets(由文件中读取一字符串)<br />相关函数<br />open,fread,fscanf,getc<br />表头文件<br />include<stdio.h><br />定义函数<br />har * fgets(char * s,int size,FILE * stream);<br />函数说明<br />fgets()用来从参数stream所指的文件内读入字符并存到参数s所指的内存空间,直到出现换行字符、读到文件尾或是已读了size-1个字符为转载 2011-04-28 11:06:00 · 770 阅读 · 0 评论 -
关于automake生成makefile的问题
<br />从helloworld入手<br /><br /> 我们从大家最常使用的例子程序helloworld开始。<br /><br /> 下面的过程如果简单地说来就是:<br /><br /> 新建三个文件:<br /><br /> helloworld.c<br /> configure.in<br /> Makefile.am<br /><br /> 然后执行:<br /><br />aclocal; autoconf; automake --add-missing; ./co转载 2011-04-29 18:19:00 · 618 阅读 · 0 评论 -
倒序打印的聪明递归方法~当然也可以使用堆栈法和最简单易懂的循环法
#include #define LEN 5 char buf[LEN] = { a, b, c, d, e }; void print_backward(int pos) { if (pos = LEN) return; printf_backward(pos + 1);原创 2011-06-27 08:44:00 · 862 阅读 · 0 评论 -
winpcap网络编程在vc6下编译出错的原因
<br />winpcap 4.1.1在vc6下编译会出现以下错误,原因是vc6.0并不完美支持c++99标准,在64位cpu中编译会有问题,<br />将winpcap开发包换到4.0.1版本及以下错误消失 <br />c:/wpdpack/include/pcap-stdinc.h(79) : error C2144: syntax error : missing ';' before type 'unsigned int' c:/wpdpack/include/pcap-stdinc.h(79) :原创 2010-11-03 18:05:00 · 1314 阅读 · 0 评论 -
Linux下Socket网络编程,文件传输,数据传输的C语言例子
<br />什么是Socket<br />Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。<br />Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的 Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调转载 2010-11-02 18:20:00 · 8336 阅读 · 3 评论 -
Linux下Socket网络编程,文件传输,数据传输的C语言例子
<br />什么是Socket<br />Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。<br />Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的 Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调转载 2010-11-02 18:20:00 · 1853 阅读 · 0 评论 -
Delphi控件大全
古人云∶“工欲善其事,必先利其器。” 这句话,我想凡是用Delphi的朋友,应该都有很深切的体会吧。的确,如果Delphi没有了控件的支持,那么人气度一定会大大的降低,不会有现在这样多的Fan了,俺也就改行用BCB或VC了,呵呵。 但是,现在控件满天飞,不要说DSP(Delphi Super Page)了,光一个深度历险上面的控件就已经洋洋洒洒上万数了,而且每天还在更新,多恐怖啊∶)然而,选择多了以后,烦恼也就随之而来了(呵呵,如果 MM也能有那么多让我挑就好了),因为无法一个个的都原创 2010-08-29 17:49:00 · 11299 阅读 · 0 评论 -
Delphi第三方控件安装方式
由于组件提供的方式不同,所以安装的方法也是不一样的,下面就目前常见的各种形式的组 件的安装方法介绍一下。原创 2010-08-29 17:52:00 · 945 阅读 · 0 评论 -
程序的数据流程
<br />像c语言最简单的hello程序的大体流程如下所示:<br /><br /><br />hello程序的机器指令最初是存放在磁盘上的,当程序加载时,他们被拷贝到主存,当处理器运行程序时,指令又从主存拷贝到处理器<br />即为:磁盘--》主存--》处理器<br />数据串hello world也是从磁盘--》主存--》显示设备。原创 2010-09-09 16:36:00 · 564 阅读 · 0 评论 -
指针的警告
<br />指针运算只有作用于数组中其结果才是可以预测的,对任何并非指向数组元素的指针执行算数运算是非法的;<br />如果一个指针减去一个整数后,运算结果产生的指针所指向的位置在第一个元素之前,那么它是非法的。<br /> <br /> <br />1:错误地对一个为初始化的指针变量进行解引用<br />2:错误地对一个NULL指针进行解引用<br />3:向函数错误地传递NULL指针<br />4:未检测到指针表达式的错误,从而导致不可预料的结果<br />5:对一个指针进行减法运算,使它非法地指向了数原创 2010-09-09 16:43:00 · 591 阅读 · 0 评论 -
DELPHI编程技巧集锦
<br /> <!-- @page { margin: 2cm } H1 { margin-top: 0.6cm; margin-bottom: 0.58cm; line-height: 200%; page-break-inside: avoid } H1.western { font-family: "DejaVu Serif", serif; font-size: 22pt } H1.cjk { font-family: "DejaVu Sans转载 2010-09-07 08:16:00 · 2547 阅读 · 0 评论 -
setjmp和longjmp(替代goto)
在C标准库中有一对非常有趣的函数setjmp()函数与longjmp()函数,用来实现代替goto实现一些非常重要的功能,如异常处理。C语言中,标准库函数setjmp和longjmp形成了结构化异常工具的基础。简单的说即setjmp实例化异常处理程序,而longjmp产生异常。先介绍setjmpint setjmp(jmp_buf envbuf)宏函数setjmp()在缓冲区envbuf中保存系统堆栈里的内容,供longjmp()以后使用,setjmp()必须使用头文件setjmp.h。原创 2010-09-17 10:17:00 · 1141 阅读 · 0 评论 -
第一个涉及到信号木曹的例子,quit
#include #include int main(int argc,char *argv[]){ QApplication app(argc,argv); QPushButton *button=new QPushButton("QUIT",0); button->show(); return app.exec();}///这里我还象第二个例子似的还在加入HTML特性呢,殊不知,那是label的特点,button没有的,嘿嘿编译方法类似第一个,原创 2010-09-25 21:57:00 · 1971 阅读 · 0 评论 -
加入了HTML特点的Qt,出来的效果不错哟
<br />#include <qapplication.h><br />#include <qlabel.h><br /><br />int main(int argc,char *argv[])<br />{<br /> QApplication app(argc,argv);<br /> QLabel *label=new QLabel("<h2><i>Hello""<font color=red> Qt!</font></h2>",0);<br /> l原创 2010-09-25 21:37:00 · 790 阅读 · 0 评论 -
Git和Repo扫盲——如何取得Android源代码
Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的分布式版本控制软件,它不同于Subversion、CVS这样的集中式版本控制系统。在集中式版本控制系统中只有一个仓库(repository),许多个工作目录(working copy),而像Git这样的分布式版本控制系统中(其他主要的分布式版本控制系统还有BitKeeper、Mercurial、GNU Arch、Bazaar、Darcs、SVK、Monotone等),每一个工作目录都包含一个转载 2010-09-22 21:59:00 · 559 阅读 · 0 评论 -
vi 命令大全
<br /><br /><br /><br />进入vi的命令<br />vi filename :打开或新建文件,并将光标置于第一行首<br />vi +n filename :打开文件,并将光标置于第n行首<br />vi + filename :打开文件,并将光标置于最后一行首<br />vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处<br />vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename转载 2010-10-22 16:47:00 · 549 阅读 · 0 评论 -
python中main的含义及用法
python中main的含义原创 2015-03-17 22:25:17 · 27995 阅读 · 1 评论