.--------------------------------------------------------------------.
| Session Start: 2005年8月22日 |
| Participants: |
| 我 ([email protected]) |
| 总监 (总监的msn帐号) |
.--------------------------------------------------------------------.
[14:43] 我: Hello
[14:43] 总监(: :)
[14:44] 我: 我在将上午那个class做成dll的时候,有10几个警告
warning C4273: 'CCopyDir::CCopyDir' : inconsistent dll
linkage. dllexport assumed.
[14:45] 总监(: member function 要直接在 DLL open, 寫法要確認...
[14:45] 总监(: 不可以直接 open
[14:45] 我: 直接在Dll open是什么意思?
[14:46] 总监(: 一般 C 的 function 只要宣告 export 就可以給外面的人 call
[14:46] 总监(: 正常 class member function 必須經過 new 才能出現
[14:47] 总监(: 所以理論上不可以直接 open..
[14:47] 总监(: 你去找找資料吧!
[14:47] 总监(: 也許朝 static function 的方向看看
[14:47] 我: 哦
好的,谢谢
.--------------------------------------------------------------------.
| Session Start: 2005年8月22日 |
| Participants: |
| 我 ([email protected]) |
| 总监 (总监的msn帐号) |
.--------------------------------------------------------------------.
[15:52] 总监(: 是否解決了呢?
[15:58] 我: 我还在看
[15:59] 我: 需要*.lib的是静态链接吗?
[15:59] 总监(: 不需要....DLL 的 function 怎麼寫, 都不需要 static link
[16:01] 我: static_cast
[16:03] 总监(: 這個不是 static link
[16:03] 总监(: 我建議你, 先以 export C 的方式先把 API open 出來
[16:03] 总监(: 先不要做 C++ 的方式 open API
[16:04] 我: 好的
[16:04] 我: 谢谢
[16:05] 总监(: C++ 的部分, 有時間再研究清楚
[16:05] 我: http://www.codeproject.com/dll/RegDLL.asp
我刚才在看这个
[16:05] 总监(: 語法都還搞不清楚的情況下, 會很花時間
[16:07] 我: 我先的那个必须先
#pragma comment ...lib
但以前看到的是LoadLibrary,然后FreeLibrary
[16:08] 总监(: 這樣寫也沒錯
[16:08] 总监(: 但 DLL 也可以不這樣寫
[16:10] 总监(: DLL 調用方式就是兩種, 一種是 Static link, 另一種為dynamic
link
[16:11] 总监(: static link 只要有缺, .exe 一run 就會檢查
[16:11] 总监(: 並自動顯示訊息
[16:11] 总监(: 不好用.
[16:11] 总监(: dynamic link, 需要使用時才 link 進來
[16:11] 总监(: 雖然寫法麻煩一點, 但彈性高
[16:12] 总监(: static_cast 與此事無關
[16:12] 总监(: 純粹只是 C++ 型態轉換語法
[16:12] 总监(: 所以, 你應該先做出 C 版
[16:12] 总监(: C++ 的部分慢慢再來研究
[16:12] 总监(: 此 Project 有時間壓力, 不要這樣做
[16:13] 我: 哦好的
[16:16] 总监(: 盡快
[16:16] 总监(: 我每日會看進度
[16:16] 我: 好的
[16:17] 总监(: 程序開發, 著重程序結構思考
[16:18] 总监(: 語言只是個工具
[16:18] 总监(: 你若連 C 都寫不好
[16:18] 总监(: 即使用 C++, Java, C# 也寫不出好程序
[16:18] 总监(: 應回歸現實...將 C 寫好
[16:19] 总监(: 別擔心 Java 不會或 C++ 不會
[16:19] 总监(: 你的腦筋只要到了一定的水平
[16:19] 总监(: 這些東西自然輕而易舉
[16:20] 我: 好的
了解
[16:22] 总监(: 認真點...
[16:22] 我: ok
[16:23] 总监(: 也進來公司一年了, 要做出點成績給大家看看.
[16:23] 我: 知道
| Session Start: 2005年8月22日 |
| Participants: |
| 我 ([email protected]) |
| 总监 (总监的msn帐号) |
.--------------------------------------------------------------------.
[14:43] 我: Hello
[14:43] 总监(: :)
[14:44] 我: 我在将上午那个class做成dll的时候,有10几个警告
warning C4273: 'CCopyDir::CCopyDir' : inconsistent dll
linkage. dllexport assumed.
[14:45] 总监(: member function 要直接在 DLL open, 寫法要確認...
[14:45] 总监(: 不可以直接 open
[14:45] 我: 直接在Dll open是什么意思?
[14:46] 总监(: 一般 C 的 function 只要宣告 export 就可以給外面的人 call
[14:46] 总监(: 正常 class member function 必須經過 new 才能出現
[14:47] 总监(: 所以理論上不可以直接 open..
[14:47] 总监(: 你去找找資料吧!
[14:47] 总监(: 也許朝 static function 的方向看看
[14:47] 我: 哦
好的,谢谢
.--------------------------------------------------------------------.
| Session Start: 2005年8月22日 |
| Participants: |
| 我 ([email protected]) |
| 总监 (总监的msn帐号) |
.--------------------------------------------------------------------.
[15:52] 总监(: 是否解決了呢?
[15:58] 我: 我还在看
[15:59] 我: 需要*.lib的是静态链接吗?
[15:59] 总监(: 不需要....DLL 的 function 怎麼寫, 都不需要 static link
[16:01] 我: static_cast
[16:03] 总监(: 這個不是 static link
[16:03] 总监(: 我建議你, 先以 export C 的方式先把 API open 出來
[16:03] 总监(: 先不要做 C++ 的方式 open API
[16:04] 我: 好的
[16:04] 我: 谢谢
[16:05] 总监(: C++ 的部分, 有時間再研究清楚
[16:05] 我: http://www.codeproject.com/dll/RegDLL.asp
我刚才在看这个
[16:05] 总监(: 語法都還搞不清楚的情況下, 會很花時間
[16:07] 我: 我先的那个必须先
#pragma comment ...lib
但以前看到的是LoadLibrary,然后FreeLibrary
[16:08] 总监(: 這樣寫也沒錯
[16:08] 总监(: 但 DLL 也可以不這樣寫
[16:10] 总监(: DLL 調用方式就是兩種, 一種是 Static link, 另一種為dynamic
link
[16:11] 总监(: static link 只要有缺, .exe 一run 就會檢查
[16:11] 总监(: 並自動顯示訊息
[16:11] 总监(: 不好用.
[16:11] 总监(: dynamic link, 需要使用時才 link 進來
[16:11] 总监(: 雖然寫法麻煩一點, 但彈性高
[16:12] 总监(: static_cast 與此事無關
[16:12] 总监(: 純粹只是 C++ 型態轉換語法
[16:12] 总监(: 所以, 你應該先做出 C 版
[16:12] 总监(: C++ 的部分慢慢再來研究
[16:12] 总监(: 此 Project 有時間壓力, 不要這樣做
[16:13] 我: 哦好的
[16:16] 总监(: 盡快
[16:16] 总监(: 我每日會看進度
[16:16] 我: 好的
[16:17] 总监(: 程序開發, 著重程序結構思考
[16:18] 总监(: 語言只是個工具
[16:18] 总监(: 你若連 C 都寫不好
[16:18] 总监(: 即使用 C++, Java, C# 也寫不出好程序
[16:18] 总监(: 應回歸現實...將 C 寫好
[16:19] 总监(: 別擔心 Java 不會或 C++ 不會
[16:19] 总监(: 你的腦筋只要到了一定的水平
[16:19] 总监(: 這些東西自然輕而易舉
[16:20] 我: 好的
了解
[16:22] 总监(: 認真點...
[16:22] 我: ok
[16:23] 总监(: 也進來公司一年了, 要做出點成績給大家看看.
[16:23] 我: 知道
然后的一番对话我去年7月刚毕业进这家公司的。因为主要是做电子词典。对一些高级的东西用得不是很多,如DLL、多线程、数据库等。
只是对SDK有了一点了解。
不过听你们谈话,我觉得你们总监的 UML架构建模与设计模式水平 一般
一般以主管口述为准。
若不便明说,PM也行!我自己也感觉水平烂!所以希望有人能指点!
学好了好跳槽,也能更好地体会的编程的乐趣和作用!
{导出,导入函数,都要写好.}
基本的格式,要懂
因为他只强调结果!与代码的进度在设计模式中,如果项目经理只追求的是代码进度和开发速度的话,那么这就是软件行业中的悲哀。编写出来的软件就是一坨shit,哈哈除了再说明一下楼主的水平很烂以外,别的就不说了免得伤楼主自尊
说真的,我觉得xqk(夏乾坤)也很shit....ohoh..玩笑,玩笑
我faint, 这也是PM啊?PM = Project Manager 。短消息: Small Message.Private Message: 个人消息
你成不了一个好的leader,从你说话的风格知道你作为一个leader必失人心。
leader还需要亲和力. 实话实说哈...
你这个阶段每个人都经历过,熬过去就好了,再辛苦个一年半载的,翻过这座山以后,你会发现山那边的世界其实平坦而美丽
好像很NB的样子?
靠
前面我说过,我们公司搞开发的才5个人,只有一个比我早来2个月,也是2004年毕业生。另外,我们(大陆员工)主要做些小工具,主要用C开发,很少用到诸如Dll、线程等知识。实话说,这是我第二次还是第三次用Dll吧(我看《Windows程序设计》动态链接库那一章时动了下手)。《Windows程序设计》我看过大部分(下册前面的有一部分没看),但很显然,光看不练是不行的,看了不等于会了,由于工作性质的关系,我们只用到了里面很少一部分的东西,所以,经验、能力等的确是很欠缺。
最近我在看《C++程序设计语言》,实话实说,里面有些东西我不是很明白。我看到的将类写在dll的例子用到了虚基类,我对这个不是很了解,所以没有继续看那个例子。其实将C函数写到Dll里,我还是会的。To:CrazyAzreal(卖血上网)
我看到一个将类写在Dll的例子,但同时要在程序中加上一句#pragma comment(...)。但我以前看到的是LoadLibrary,接着得到函数指针,最后再FreeLibrary的。所以觉得有点奇怪。
若你有类似的例子,不妨将网址发给我。不胜感激!!!
我们总监的话,我有一些也看不明白。
《Effective C++》 ,条款十四: 尽量让每个基类都有一个虚析构函数
析构函数和虚析构函数有什么区别呢?:当我们建立了一个基类Base 和 子类 Sub 时:
如果基类Base 的析构函数是非虚的,那么Sub类的析构函数默认行为是《函数覆盖》
否则,如果基类Base的析构函数是虚函数,那么Sub类的析构函数是函数重载:既然是覆盖和重载的区别,那么它们实现的时候有什么区别呢?这个有些C++经验的人都能想到
当我们将Sub类向上转型成Base的时候:
Base b = (Base)sub;
//如果在Sub类的构造函数中申请了内存:
那么当我们销毁这个 Base 的时候(其实是指向Sub的指针),由于虚函数的原理,如果基类的析构函数是虚函数:那么将会调用子类的析构函数,如果基类的函数不是虚函数,那么调用的是父类的析构函数。调用父类的析构函数的后果呢?当然是:如果子类的析构函数里有释放内存的操作,那么将会造成内存泄漏,后果很严重,而且问题很隐蔽。所以正如《Effective C++》 条款十四所言:尽量让每个基类都有一个虚析构函数
《Effective C++》,一本绝世的好书,看过的人都说好,《Effective C++》,今天你看了没有?
所以只能被继承...
成VC HELP DISK 了。也不奇怪,DLL 这样重要的东西,许多书是一带而过。
不要为了技术而技术,为了C++而C++,为了OOP而OOP,为了项目管理而项目管理。
搞技术有点豪情壮志是好的,但不要目空一切,以为人家PM、CTO都是吃白饭的。
最好的技术就是用最短的时间出最好的产品,当然时间和质量之间需要个平衡,但这是PM、CTO决定的事情,工程师要虚心执行上级的决策,当不好一个兵,你还想当将军呢?
还有句不好听的,按ming6424现在的水平,2K的M已算不错,不管跳到哪里,想要更高的M得为公司创造更多的Gain.
同时,给大家一个薪酬参考,
上海 WinCE驱动开发 开发语言 C (dll) 9K/月
大家觉得有几个做C++/OOP的软件工程师能拿到?可见所用技术并不是关键。
还是楼上的CTO说得好:“語言只是個工具”
不妨指点一下应该如何提高自己???
至于薪酬,我不表示同意,也许你不明白我们的具体情况。
不过,我可以透露一下。去年七月和我一起来的还有2个同事,今年三月走了,炒公司。去年10月进来一个,未过试用期。今年7月进来一个,进来一个月炒公司。
这些都是我们部门的。邮件1
Dear all:
各位到目前對******熟悉的程度還不夠深入和了解,
導致於每個人手上所開發工程,一直進展不順利而無法完成.
***** 開發時間並不充裕,為加速大家在開發*****的環境適應,
從今天開始4位軟体部的同事,晚上留下來加班到 9:00.
晚上加班的時候,若在開發上有無法解決的問題,可以馬上找我一起處理.
謝謝各位的配合.邮件2
Dear all:
51假日會到公司上班人員,安排如下:
1.5/2(一) Ming, Arthur
2.5/3(二) Ming, Arthur ,WenChang, Avril,小兵,清華不知你看了上面的,作何感想!我们都被要求学雷锋。今年五月下了一个最新文件,关于加班的,叫什么“特定工作项目管理实施条例”。若是主管要求加班,且得到总经理批准的,才能算加班。加班给补休,加一小时补休一小时,若要钱,对不起,年底结帐,每天按8小时算,每月按30天算。明白什么意思没?那之后,我们周一、周二、周四、周五每晚从六点半加班到九点半。
以我为例
平时 每天工作7.5小时 * 每月工作23.5天(每周工作5.5天) = 月薪2K 时薪约11.35元
加班 1小时 * (7.5 / 8) * (23.5 / 30 ) 时薪约8.3元
不要说加班费是平时的1.5倍,是平时的1.5倍的一半不到!!!
今年四月走的那两个,他们四月的工资五月才发,还少了200元。
实话实说,如果公司炒了我,我很高兴。我在这里实在找不到值得我留恋的地方。要钱没钱,要技术没技术(都是靠自己自学),还浪费我的青春。你可以不教我,但请不要占用我自学的时间。
所有理智的上司,最希望的结果是:在正常上班的时间把我交给你的任务完成。
我以前的公司有的人很少加班,不过任务都能完成,考核总是优;有的人总加班,但总是有些任务没完成,考核平平。这不公平吗?很公平。你坐烂屁股不出成绩,没人会欣赏你。当然,刻薄的公司是有的,如果你客观分析后认为责任不在你,那么好,炒公司吧,因为你到好的地方会更发光。“实话实说,如果公司炒了我,我很高兴。我在这里实在找不到值得我留恋的地方。”
最好有点敬业精神,不想干,就走人,不走人,就好好干。“要钱没钱,要技术没技术(都是靠自己自学),还浪费我的青春。你可以不教我,但请不要占用我自学的时间。”
前面你们总监提到的都是基本的技术,你都没有合格的,还说人家不教你?
你自学的是啥呀?写电子词典软件,你学C++、OOP,你觉得适合吗?就算适合,必要吗?“不妨指点一下应该如何提高自己?”
无论在什么公司,学习如果又快又好地完成公司交给的任务,自然就会获得提高。
但我举个例子
去年刚毕业进来的一个同事,那时(去年7月左右)代码写得不规范(一般我们都是按C教材里面写的,那里面的程序结构小,而且也有的写法本身就不规范),我们的一个主管,看到了,什么都不说,等到了那个同事转正,谈工资时,就说他代码写得不规范等等,以此来压他的工资。至于你说的敬业的问题,我认为有道理,虚心接受。实话实说,台湾人的确没怎么教我。
去年10月左右(那时刚工作三个月左右,这之间我的任务是看另外一个大型程序的代码),台湾人要我和另外一个同事完成一个Tank游戏的程序,那时我懂的很少,也没有经验。我画那个图的时候,开始想用SRCCOPY然后再用SRCAND擦除原来的图,画来画去,就是擦不干净,问那个总监如何才能画图上去而不出现闪烁现象,他说贴上去,我试过来试过去就是不行,最后还是在CSDN上发贴求助才解决的。说实话,那时我自己很着急,本来没多大工作量的东西,我做了差不多两三周。如果有人指点一下,也许1-2天就可以做完(那时是我第一次用bitblt)今年1月开始,我用BCB做一个电脑和电子词典的Download程序。公司没有BCB,没办法,只能远程登陆使用,窗口很小,设计UI时不是很方便,更关键的是,那个BCB装在C盘,我的用户属性没有访问C盘的权利,每次改动代码后,都要关闭BCB才能重新编译。PC端有个文件数据库,是MS Access数据库,公司没人会ADO(ADOConnection,ADOQuery),又是我自己学,但结果做来做去,发现查询时没有问题,插入或删除记录就会提示“Access violation at address 1F487CAB in module 'msado15.dll'.Write of address 010DA020”错误,我又是没有人去问,这个问题又困扰了我很久,最后终于在网上发现类似错误,发现原来是因为装了SQL Server2000,有个dll的版本不对。其实这两个项目都不大,我却都做了2个月左右。我自己也觉得不好意思。真的希望有人能指点一下。你自学的是啥呀?写电子词典软件,你学C++、OOP,你觉得适合吗?就算适合,必要吗?
我自学C++和《数据结构》有问题吗?不知怎么不适合了?也不知我自己利用休息时间看一下这方面的书,也没有必要吗?
我想我在前面说得比较清楚了,我们公司是做电子词典软件的,但我不是。我们(大陆员工)只是做一些Windows下的小工具而已,我也知道C在底层比C++好。
也许你说的是我学习没有学到什么东西,我的记忆力不好,而且,有一些学了现在也用不上(我前面说的那两个项目,会用到多线程、dll等一些相对高深一点的东西吗?不觉得)。“不妨指点一下应该如何提高自己?”
无论在什么公司,学习如果又快又好地完成公司交给的任务,自然就会获得提高。
在地上爬,可以前进;走路,也可以前进;跑步,也可以前进。
我现在主要就是处理电子词典里面要用的资料,fopen,fwrite,fclose。就算有进步,也比较小吧?
就不能说具体一点吗?不能利用空闲时间自学吗?
“也许有的情况你不了解”,是的,所以我说了“如果你客观分析后认为责任不在你,那么好,炒公司吧”
自学当然是要的,而且当然是学得越多越,我本人既做网页设计,也写ASP.net, 既做数据库,也写驱动程序,所以,我绝不会反对你学习,我误解你的意思了,你也误解我的意思了。我的意思其实很简单:“不想干,就走人,不走人,就好好干”
如果你的学习和工作会互相干扰,那证明你学无余力,要么辞职念书去,要么专心点工作。
如果是公司压榨得太厉害,还是那句话“不想干,就走人”最近看到太多人抱怨公司没教他什么东西,什么都要自己弄,我反而觉得奇怪,公司就是公司,为什么毕业那么久了还保留着学生思维,要知道,公司不赢利就是死亡,首要目标就是利润最大化,请你来是解决问题的,不是制造问题的(自学能力太重要了)。古人云:君子修身,齐家,治国,平天下。而“修身”是排在第一位的,“齐家”“治国”“平天下”都要靠边站。所以,凡事都先从自己身上找原因,效果会好很多。台湾人经常搬弄的一句泊来语,我觉得还是有点助益的,“成功者找方法,失败者找借口。”臭话说多了,欢迎大家抛砖啊~~~~~~~~~ @!$%#$%