re: 做了一個XML解釋器 空明流轉 2008-06-20 13:25
日,你真他媽的有閑工夫。
re: 能造出原子彈的民族當然是優等民族 空明流轉 2008-06-19 12:20
蔣某人如果統治大陸應該也會搞出原子彈的。。。
re: 如何手寫語法分析器 空明流轉 2008-06-15 22:10
很好,很強大。。。
Eric Python IDE用的就是Scintilla。是個C++的東西,感覺上一般般。。。(其實Eric功能挺豐富的,就是界面比較丑,所以就不喜歡sci了,哈。)
GPL = GNU Public License。GPL V2是黏附性的,如果選擇了LGPL就相對自由了,我記得BSD License更加自由一點。
re: 圖形庫的概要設計 空明流轉 2008-06-11 12:57
圖形庫,僅僅是數學問題而已。
---------這句話很贊同。很明顯我在思路上不如你清晰。
re: 如何學習編程(一) 空明流轉 2008-06-07 18:57
剛剛無聊,用C#做了一個2D的骨骼動畫的例子。。。
re: 寫了一個彈性物體碰撞模擬 空明流轉 2008-06-06 16:01
vc做這些都屬于蛋疼行列。
re: 《構造正則表達式引擎》新鮮出爐啦! 空明流轉 2008-05-22 15:30
很好很強大的矬人,哇咔咔
re: 使用高階函數開發語法分析器 空明流轉 2008-05-22 08:49
@陳梓瀚(vczh)
切,你敢叫OCaml啊...
re: 剖析Etwork網絡庫 空明流轉 2008-05-21 21:52
做面向對象大抵就是兩個極端,一個是回歸過程化的抽象,一個就是純面向對象。
不過感覺這個傾向是跟你長期從事的領域有關。
re: 使用高階函數開發語法分析器 空明流轉 2008-05-21 20:28
喂,vc,你看我樓上的人叫啥名字。
re: 關于《構造可配置詞法分析器》的后續 空明流轉 2008-05-16 21:34
下篇把我轉的地址也貼上,幫我刷刷人氣的說,哇咔咔咔。
re: 關于《構造可配置詞法分析器》的后續 空明流轉 2008-05-16 21:27
什么叫“一些人的轉貼”,丫不久我轉貼了嘛。。。
/吐口水
好好想,慢慢寫,這次不轉貼,收藏好了。
re: 腳本編程瑣話 空明流轉 2008-05-16 20:21
@Kevin Lynx
啥還可以。。。以前咱倆也就是偶爾聊天而已,接觸不多。話說現在你已經走上正職了吧。
re: 腳本編程瑣話 空明流轉 2008-05-16 16:46
@陳梓瀚(vczh)
好處你詳細的說說,我倒是沒感覺有什么好不好處的,當然也沒覺得有什么壞處。我只是討論一下這個問題我的處理方法而已。
re: 做個投票,大家支持 空明流轉 2008-05-15 11:43
我幾乎沒做什么習題。。。后面的也就可以不選了吧。。。
WinXP, VS 2003/2005; mingw/gcc 3.4/3.5/4.2
re: 5.12汶川大地震(一) 空明流轉 2008-05-14 17:44
是挺麻煩。我同學倒覺得挺過癮的,也在成都。
re: 學生時代做的東西-留個紀念 空明流轉 2008-05-14 17:43
不錯不錯,比我強悍許多。
re: 正則表達式——一點小插曲 空明流轉 2008-05-12 14:03
鄙視造車輪啊造車輪。。。
re: 正則表達式——一點小插曲 空明流轉 2008-05-08 12:13
現在MSR的不一定有boost好了,你用的是regex還是xpressive的那個,我都分不清有什么區別,囧
re: 今天發現自己的array類太慢 空明流轉 2008-04-28 12:06
Release的照理沒那么慢。
模仿的挺像。。。
你全文里面我唯一100%贊同的一句話就是:
因為Haskell的語法實在是太詭異了
囧。。。
其實沒那么麻煩,下個mingw的install,download并安裝好以后,下載新的for mingw的gcc編譯器和gdb直接塞到文件夾下就行了
re: 對string類的思考 空明流轉 2008-04-11 20:12
shared_ptr<string> / string*,一切都搞定了。
還有就是出去4819的那個character的warning,還有些別的warning,如果想眼不見心不煩還是wd為好。。。
說實話,2008下面boost還是謹慎點好,不是那么好用的。比方說date。這個玩意直接讓thread和interprocess有hang over的可能。
另外compileflag已經可以用命令行傳遞了,不再需要用jamfile。
插件可以以dll或者com的形式提供。
如果是前者,最好連頭文件都不要,用不帶mangle的C形式導出函數,然后選用LoadLibrary + GetProcAddress的API完成。
如果是后者,最好支持IDispatch,這樣腳本也可以使用它做一些快速開發。
re: 不怕無知,但怕無畏 空明流轉 2008-03-21 17:51
最近回帖的怎么都開始喜歡噴人了。
re: VC6正在被拋棄 空明流轉 2008-03-18 13:57
@abettor
boost經常到標準最陰暗的角落去挖東西。。。
“我靠,我被8.5.3打敗了”
一般我都拿preprocessor來驗證宏寫的有沒有問題。
re: VC6正在被拋棄 空明流轉 2008-03-14 17:50
話說設計的像BOOST這樣BT的庫也不多。
re: 關于資源包的新的比較完善的想法 空明流轉 2008-03-12 12:55
沒必要,這種想法是致命的開端。
俺以前干過一個,發現太麻煩了,還不實用。
re: [轉]【下載】Qt 4.3 商業版 空明流轉 2008-03-09 20:33
唉,要是VS上能用我他媽就不去找商業版的了。。。
re: 一個type2id的程序 空明流轉 2008-03-09 11:39
typelist有typelist不妥的地方。
我的原帖解法就是typelist的(boost::mpl::vector)。
但是typelst的解法中,它的類型名稱信息只能用一次,而我在做枚舉或者別的時候需要再次利用這個類型名稱生成合適的枚舉值名稱或者別的什么。
所以我用了boost的preprocessor作為確定序列的工具。
re: 一個type2id的程序 空明流轉 2008-03-08 15:53
新的實現,覺得還是這個好一點.
#include <iostream>
#include <boost/smart_ptr.hpp>

#include <boost/mpl/vector.hpp>
#include <boost/mpl/find.hpp>
#include <boost/mpl/at.hpp>
#include <boost/mpl/size.hpp>
#include <boost/mpl/if.hpp>
#include <boost/mpl/less.hpp>
#include <boost/mpl/int.hpp>
#include <boost/mpl/less_equal.hpp>

#include <boost/type_traits/is_same.hpp>
#include <boost/preprocessor/seq/for_each.hpp>
#include <boost/preprocessor/seq/for_each_i.hpp>

using namespace std;


struct empty
{};

#define TYPE_LST \
(empty) \
(bool)(float)(int)

#define BEGIN_ENUM() enum ENUM_NAME {
#define REG_ENUM(r, data, i, type_elem) BOOST_PP_CAT(ENUM_PRED, type_elem) = i,
#define END_ENUM() };

#define BEGIN_ENCODE_DECODE() \

template<class T> struct type_encode
{ static const int id = 0; static const ENUM_NAME tag = ENUM_NAME(0); };\

template<int i> struct type_decode
{ typedef empty type;};

#define REGISTER_TYPE(r, dummy, i, type_elem) \

template<> struct type_encode< type_elem >
{static const int id = i; static const ENUM_NAME tag = ENUM_NAME(i);};\

template<> struct type_decode< i >
{typedef type_elem type;};

#define END_ENCODE_DECODE()

enum s
{
ebool
};

namespace shader_constant


{
#define ENUM_NAME sh_typeids
#define ENUM_PRED sh_typeids
#define ENUM_POST
BEGIN_ENUM()
BOOST_PP_SEQ_FOR_EACH_I(REG_ENUM, _, TYPE_LST)
END_ENUM()

BEGIN_ENCODE_DECODE()
BOOST_PP_SEQ_FOR_EACH_I(REGISTER_TYPE, _, TYPE_LST)
END_ENCODE_DECODE()

const int size_of_typelst = BOOST_PP_SEQ_SIZE(TYPE_LST);
}

using namespace shader_constant;

typedef void (*Assignments)(void* p1, void* p2);

template<class T>
void AssignImpl(void* p1, void* p2)


{
cout << typeid(T).name() << endl;
*(T*)p1 = *(T*)p2;
}

template <> void AssignImpl<empty>(void* p1, void* p2)


{
cout << "error type!" << endl;
}

Assignments assigns[size_of_typelst+1];

template <int i>
struct assigns_initializer


{
assigns_initializer<i-1> m;

assigns_initializer()
{
assigns[i] = &AssignImpl<typename type_decode<i>::type >;
}
};

template <>
struct assigns_initializer<-1>


{

assigns_initializer()
{
}
};

static assigns_initializer<size_of_typelst> ai;

typedef double T;
int main()


{
T i1(T(0));
T i2(T(10));
assigns[type_encode<T>::id](&i1, &i2);
cout << i1;
system("pause");
return 0;
}

re: 網絡和軟件相通嗎? 空明流轉 2008-03-08 15:35
cpp用于網絡程序還是很多的.
兩年前搞了個帶分頁的file,每4KB一個頁,這樣package的內容就可以隨時修改而不用解包數據再打包;碎片多了再重新整理...不過bug很多,而且也覺得沒啥必要就放棄了...現在覺得boost的iostreams和serialization不錯.
re: GCC不能正確繼承模板類? 空明流轉 2008-03-02 15:56
@stO
大部分編譯器的實現都是在初始化列表里滿足此項要求,而構造函數體這一要求都放寬了,跟人覺得這一要求也確實沒有什么道理,因為在調用子類構造函數的時候基類都已經構造完畢了。標準也只是標準而已。
re: GCC不能正確繼承模板類? 空明流轉 2008-03-02 11:33
這似乎是gcc編譯器本身的問題。