<!-- BBCode Quote Start --><FONT COLOR=GREEN>
跟 VB 脫不了關係?這也未免太抬舉 VB 了吧 ... (汗)
Visual C++ 的 MFC, ATL 可不是做出來擺好看的。\r
Visual Basic 其實也是架構在這上面 (把它們包裝成更容易使用的形式)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
</FONT><!-- BBCode Quote End -->
這就是關係啦… 呵~呵~呵~~~
逃…
請問關於Windows核心語言
版主: DearHoney
<!-- BBCode Quote Start --><FONT COLOR=GREEN>
跟 VB 脫不了關係?這也未免太抬舉 VB 了吧 ... (汗)
Visual C++ 的 MFC, ATL 可不是做出來擺好看的。\r
Visual Basic 其實也是架構在這上面 (把它們包裝成更容易使用的形式)
</FONT><!-- BBCode Quote End -->
老兄....
VB會架構在MFC、ATL上面??
還把它們包裝成更容易使用的型式???
你想在VB裡面用MFC的CString、CWinThread...etc啊?
還是你想在VB裡面用C++ template?(ATL是source code level的)
先搞清楚什麼是MFC、ATL吧!
跟 VB 脫不了關係?這也未免太抬舉 VB 了吧 ... (汗)
Visual C++ 的 MFC, ATL 可不是做出來擺好看的。\r
Visual Basic 其實也是架構在這上面 (把它們包裝成更容易使用的形式)
</FONT><!-- BBCode Quote End -->
老兄....
VB會架構在MFC、ATL上面??
還把它們包裝成更容易使用的型式???
你想在VB裡面用MFC的CString、CWinThread...etc啊?
還是你想在VB裡面用C++ template?(ATL是source code level的)
先搞清楚什麼是MFC、ATL吧!
<!-- BBCode Quote Start --><FONT COLOR=GREEN>
<!-- BBCode Quote Start --><FONT COLOR=GREEN>
<!-- BBCode Quote Start --><FONT COLOR=GREEN>
鐵定是 C/C++ ... (再加上很小一部份的組語)
叫你那朋友去翻翻 MSDN 裡頭的 Windows SDK 吧。
</FONT><!-- BBCode Quote End -->
如果我記得沒錯...應該是Basic(但不是VB!!)
之前新聞不是有報反托拉斯...微軟交出IE的某段程式碼...兩億行
結果專家一看都嚇死了...都是用Basic寫的...
</FONT><!-- BBCode Quote End -->
這不是已確定是謠言了嗎 :eek:
記得當初在PC Zone有看過相關的討論串.
</FONT><!-- BBCode Quote End -->
果然不可能是"VB",朋友也是看到報導才跟我打賭的。
他還說比爾蓋豬在報導上說:「我的VB設計功力無人能比,歡迎挑戰」。\r
不知是真的假的?
不過目前看來至少贏了"鬥牛士",爽啊∼
謝謝各位大大為小弟解惑。
<!-- Edit Notice Start -->
<font size=-1>[ 這篇文章在 2002-08-19 20:37 被 Kyochan 編輯過 ]</font><!-- Edit Notice End -->
<!-- BBCode Quote Start --><FONT COLOR=GREEN>
<!-- BBCode Quote Start --><FONT COLOR=GREEN>
鐵定是 C/C++ ... (再加上很小一部份的組語)
叫你那朋友去翻翻 MSDN 裡頭的 Windows SDK 吧。
</FONT><!-- BBCode Quote End -->
如果我記得沒錯...應該是Basic(但不是VB!!)
之前新聞不是有報反托拉斯...微軟交出IE的某段程式碼...兩億行
結果專家一看都嚇死了...都是用Basic寫的...
</FONT><!-- BBCode Quote End -->
這不是已確定是謠言了嗎 :eek:
記得當初在PC Zone有看過相關的討論串.
</FONT><!-- BBCode Quote End -->
果然不可能是"VB",朋友也是看到報導才跟我打賭的。
他還說比爾蓋豬在報導上說:「我的VB設計功力無人能比,歡迎挑戰」。\r
不知是真的假的?
不過目前看來至少贏了"鬥牛士",爽啊∼
謝謝各位大大為小弟解惑。
<!-- Edit Notice Start -->
<font size=-1>[ 這篇文章在 2002-08-19 20:37 被 Kyochan 編輯過 ]</font><!-- Edit Notice End -->
<!-- BBCode Quote Start --><FONT COLOR=GREEN>
更正 ... COM ..............
我當時真的不知道在想什麼
ATL 是拿來刻 COM Object 的這該沒錯吧 ...
</FONT><!-- BBCode Quote End -->
這就對了。
ATL -> COM
相當於 MFC -> Windows API。(當然不完全一樣)
VB把使用COM object的方式簡化,融合在語言本身之中。
內部已經幫你把CoCreateInstance()、QueryInterface()、AddRef()、Release().........etc之類的東西做掉了。
更正 ... COM ..............
我當時真的不知道在想什麼
ATL 是拿來刻 COM Object 的這該沒錯吧 ...
</FONT><!-- BBCode Quote End -->
這就對了。
ATL -> COM
相當於 MFC -> Windows API。(當然不完全一樣)
VB把使用COM object的方式簡化,融合在語言本身之中。
內部已經幫你把CoCreateInstance()、QueryInterface()、AddRef()、Release().........etc之類的東西做掉了。
找到了.....極機密
Windows 2000原始碼
可以證明Windows是用C寫的
(轉貼,出處不明,如有侵犯請告知)
/* Source Code to Windows 2000 */
#include "win31.h"
#include "win95.h"
#include "win98.h"
#include "workst~1.h"
#include "evenmore.h"
#include "oldstuff.h"
#include "billrulz.h"
#include "monopoly.h"
#define INSTALL = HARD
char make_prog_look_big[1600000];
void main()
{
while(!CRASHED)
{
display_copyright_message();
display_bill_rules_message();
do_nothing_loop();
if (first_time_installation)
{
make_50_megabyte_swapfile();
do_nothing_loop();
totally_screw_up_HPFS_file_system();
search_and_destroy_the_rest_of_OS/2();
make_futile_attempt_to_damage_Linux();
disable_Netscape();
disable_RealPlayer();
disable_Lotus_Products();
hang_system();
}
write_something(anything);
display_copyright_message();
do_nothing_loop();
do_some_stuff();
if (still_not_crashed)
{
display_copyright_message();
do_nothing_loop();
basically_run_windows_3.1();
do_nothing_loop();
do_nothing_loop();
}
}
if (detect_cache())
disable_cache();
if (fast_cpu())
{
set_wait_states(lots);
set_mouse(speed, very_slow);
set_mouse(action, jumpy);
set_mouse(reaction, sometimes);
}
/* printf("Welcome to Windows 3.1"); */
/* printf("Welcome to Windows 3.11"); */
/* printf("Welcome to Windows 95"); */
/* printf("Welcome to Windows NT 3.0"); */
/* printf("Welcome to Windows 98"); */
/* printf("Welcome to Windows NT 4.0"); */
printf("Welcome to Windows 2000");
if (system_ok())
crash(to_dos_prompt)
else
system_memory = open("a:\swp0001.swp", O_CREATE);
while(something)
{
sleep(5);
get_user_input();
sleep(5);
act_on_user_input();
sleep(5);
}
create_general_protection_fault();
}
Windows 2000原始碼
可以證明Windows是用C寫的
(轉貼,出處不明,如有侵犯請告知)
/* Source Code to Windows 2000 */
#include "win31.h"
#include "win95.h"
#include "win98.h"
#include "workst~1.h"
#include "evenmore.h"
#include "oldstuff.h"
#include "billrulz.h"
#include "monopoly.h"
#define INSTALL = HARD
char make_prog_look_big[1600000];
void main()
{
while(!CRASHED)
{
display_copyright_message();
display_bill_rules_message();
do_nothing_loop();
if (first_time_installation)
{
make_50_megabyte_swapfile();
do_nothing_loop();
totally_screw_up_HPFS_file_system();
search_and_destroy_the_rest_of_OS/2();
make_futile_attempt_to_damage_Linux();
disable_Netscape();
disable_RealPlayer();
disable_Lotus_Products();
hang_system();
}
write_something(anything);
display_copyright_message();
do_nothing_loop();
do_some_stuff();
if (still_not_crashed)
{
display_copyright_message();
do_nothing_loop();
basically_run_windows_3.1();
do_nothing_loop();
do_nothing_loop();
}
}
if (detect_cache())
disable_cache();
if (fast_cpu())
{
set_wait_states(lots);
set_mouse(speed, very_slow);
set_mouse(action, jumpy);
set_mouse(reaction, sometimes);
}
/* printf("Welcome to Windows 3.1"); */
/* printf("Welcome to Windows 3.11"); */
/* printf("Welcome to Windows 95"); */
/* printf("Welcome to Windows NT 3.0"); */
/* printf("Welcome to Windows 98"); */
/* printf("Welcome to Windows NT 4.0"); */
printf("Welcome to Windows 2000");
if (system_ok())
crash(to_dos_prompt)
else
system_memory = open("a:\swp0001.swp", O_CREATE);
while(something)
{
sleep(5);
get_user_input();
sleep(5);
act_on_user_input();
sleep(5);
}
create_general_protection_fault();
}