随笔分类 -  C/C++

上一页 1 2

摘要:一直以来,Linux 环境下没有一个好用的C/C++ 开发环境,让很多初学者以至老手都感到非常不顺手,尤其是当习惯了VC强大的集成调试功能后,更是感觉不顺手。也许有人说,高手用Makefile 和 命令行,我也用过Make,更是用多了命令行,当你面临一个大型软件系统出了怪异问题时,或者开发过程中需要DEBUG 时,怎么办呢? printf ? 还是 log ? 我不反对这样做,但是效率也未免太低了!!!!社区自由软件狂热追求者们面对这种问题有过很多尝试,不可否认 KDevelop 很强大, 但是,最让我觉得不爽的就是它对 共享库(Windows下叫动态库)支持太不友好了; 后来有几个高人出来设 阅读全文

posted @ 2008-05-13 22:12 h2内存数据库 阅读(247) 评论(0) 推荐(0)

摘要:那天看高人的代码, 当然, 太多了, 编译就要半个多小时在 双核机器上!!!!!!!!!!见到这些片段, 感觉很不错!#define EXECUTE_IF_FALSE_BREAK( retVal, exeFUN ) { /retVal = ( exeFUN );/if ( retVal == false ) /{/break;/};//..............................bool flag;bool fun(int, char);do {EXECUTE_IF_FALSE_BREAK( flag, fun(8, 'c') );//.....}while ( 阅读全文

posted @ 2006-10-16 21:39 h2内存数据库 阅读(191) 评论(0) 推荐(0)

摘要:作者:Scott Field 这篇文章是关于C++语言的一个新的扩展——标准模板库的(Standard Template Library),也叫STL。 当我第一次打算写一篇关于STL的文章的时候,我不得不承认我当时低估了这个话题的深度和广度。有很多内容要含盖,也有很多详细描述STL的书。因此我重 新考虑了一下我原来的想法。我为什么要写这篇文章,又为什么要投稿呢?这会有什麽用呢?有再来一篇关于STL的文章的必要吗? 当我翻开Musser and Saini的页时,我看到了编程时代在我面前消融。我能看到深夜消失了, 目标软件工程出现了。我看到了可维护的代码。一年过去了,我使用STL写的... 阅读全文

posted @ 2006-05-16 01:19 h2内存数据库 阅读(202) 评论(0) 推荐(0)

摘要:/**: 进程调度模拟程序&* 本程序来自一位网友,她写了大部分代码,可是错误太多,*漏洞百出,不尽人意,下面是我修改后的。希望用到的人可以多多参考,* 看了的人给些意见!*/#include <time.h>#include <stdio.h>#include <conio.h>#include <stdlib.h>#include <string.h>#define TRUE 1#define FALSE 0#define READY 2 /* 进程就绪 */#define END 4 /* 进程结束 */typedef 阅读全文

posted @ 2006-04-15 11:02 h2内存数据库 阅读(191) 评论(0) 推荐(0)

摘要:1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要 因为他们很难而我们自己是初学者所以就不看; 4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要 学的是一门语言; 5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可 以引伸出很多知识点; 6.会用Visual C++,并不说明你会C++; 7.学class并不难,templ 阅读全文

posted @ 2006-04-12 21:41 h2内存数据库 阅读(569) 评论(0) 推荐(0)

摘要:状态机实现:/**: nextToken & * primary interface ...... * return a Token from source file(list_of_source) & * author: lonelyforest * data: 2006.03.16 */ //----------------------------------------------------------------------------- Token& Scanner::nextToken() { if (m_pushed ) { m_pushed = fal 阅读全文

posted @ 2006-03-29 10:10 h2内存数据库 阅读(217) 评论(0) 推荐(0)

摘要:说明: 此词法分析器所支持的关键字和操作符号都是 C-(mini C)的,关于 C-, 可以参阅 《编译原理及实践》附录; 以下为关键字和操作符定义:enum tokenType { // reserved Keyword k_INT = 0/* int */, k_ELSE/* else */, k_RETURN/* return */, k_VOID/* void */, k_IF/* if */,k_WHILE/* while */, k_READ/* read */, k_WRITE/* write */, // operations ASSIGN/* = */, PLUS/* + * 阅读全文

posted @ 2006-03-29 10:06 h2内存数据库 阅读(206) 评论(0) 推荐(0)

摘要:一、思路: 使用容器vector<string> 来缓冲文件内容,以便增加效率,以前的总是用getline(FILE*, ...) 或者别的,总之,都要从磁盘不断读取,不断操作,效率肯定不高。 这个思路主要是受到《C++ Primer》3 的影响,其中有个文本操作,采用这种方式。 从文件中具体分离出一个个字符,当然也就简单的多了。 然后再使用状态机,来实现 标识符提取, 这种方式的优点是可以很容易的根据你的需要来扩充或者修改。而且清晰明了哦。二、实现(部分):1使用标准的纯C++实现, 估计可以在 Unix 上兼容。不过没有测试;一下是包含头文件:#include <fstr 阅读全文

posted @ 2006-03-29 09:56 h2内存数据库 阅读(439) 评论(0) 推荐(0)

摘要:#include <string>using namespace std;/* * assistant function, * return a string, get tow string&, * use to change a filename's extern name;* author: lonelyforest* Date: 2006.03.15*/string change_file_ext(const string& filename, const string& new_ext){ int dot_pos = 0; string te 阅读全文

posted @ 2006-03-15 21:44 h2内存数据库 阅读(155) 评论(0) 推荐(0)

摘要:static int findNum( const char* str){ char Num[8]; int i = 0; int reval = -1; const char* p = str; while ( *p && ((*p > '9') || (*p < '0'))) p++; if ( *p ) { while (*p <= '9' && *p >= '0' ) { Num[i++]= *p++; } } else { return reval; } if ( 阅读全文

posted @ 2006-03-06 21:58 h2内存数据库 阅读(242) 评论(0) 推荐(0)

摘要:在C++ Builder中使用 SynEdit 插件时,功能的确强大,但是常用的 查找和替换功能却不好作了,尤其没有接触过的人,太麻烦了。其实 SynEdit 自带了搜索功能,很简单,很强大!1. 准备工作: (1)在你设置好的界面中加入 SynEdit 控件,我的命名是 rve,当然,这是个误会,我是怕改多了程序麻烦. (2) 加入SynEditSearch控件, 我的命名是SynEditSearch1,默认。 (3) 将 rve(synEdit) 的 SearchEngine 的改为 SynEditSearch1。 (4) 加入FindDialog控件, 命名为 FindDialog1;. 阅读全文

posted @ 2006-03-05 15:14 h2内存数据库 阅读(557) 评论(0) 推荐(0)

摘要:/**: MallocLimit.c* by lonelyforest*这个程序在DOS下运行,将会输出您的内存到底能够*分配多大!!!*/#include <stdio.h>#include <stdlib.h>int main(){int MB = 0;while ( malloc(1<<20) ) ++MB;printf("/n has %d MB memory!/n", MB);return 0;} 阅读全文

posted @ 2006-03-05 11:33 h2内存数据库 阅读(213) 评论(0) 推荐(0)

摘要:/**: GetHostIP.c * by lonelyforest.*//*===================================================*/#include <stdlib.h>void main( void ){ system("ipconfig"); system("pause");}/*===================================================*/在任何一个C/C++编译器下编辑即可。极为简单! 阅读全文

posted @ 2006-03-05 11:29 h2内存数据库 阅读(170) 评论(0) 推荐(0)

摘要:result love(boy, girl) { if( boy.有房() and boy.有车() ) { boy.set(nothing); return girl.嫁给(boy); } if( girl.愿意等() ) { while(!(boy.赚钱 > 100,000 and girl.感情 > 8 ) ) { for( day=1; day <=365; day++) { if( day == 情人节 ) if( boy.givegirl(玫瑰) ... 阅读全文

posted @ 2006-02-25 19:34 h2内存数据库 阅读(137) 评论(0) 推荐(0)

摘要:在工程文件中选File->New Form新建一个窗口,设计好窗口的外观。给窗口起名为AboutBox,源文件命名为AboutBox.Cpp选Project->Options,将新建的窗口从自动建立中去掉。选View->Project Source,打开工程文件的源文件,在下面加入红色的句子。#include "AboutBox.h" WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { DWORD lTime; try { Application->Initialize(); AboutBox=new 阅读全文

posted @ 2006-02-13 16:47 h2内存数据库 阅读(389) 评论(0) 推荐(0)

摘要://-------------------------------------------------------------------//----以下是当初一位网友给我参考的,我略修改一下,并且释放了他的内存!//----呵呵,他原来设计的没有释放内存!//----不过我已经忘记了他的名字,今天拿出来是想让大家参考!//----如果有疑问或者版权问题,请尽快联系本人! //----设计的还是很不错的,无论是界面还是思想,不过有bug,//----会陷入死循环,主要原因是由于用户错误的输入^_^//----而导致流状态一直为错误,输入没有被正确的消耗掉!//----所以它会拼命的循环!!我也 阅读全文

posted @ 2006-02-13 16:29 h2内存数据库 阅读(1363) 评论(0) 推荐(0)

上一页 1 2

导航