線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:914
推到 Plurk!
推到 Facebook!

好用的 #pragma startup

尚未結案
jackyung
一般會員


發表:22
回覆:46
積分:13
註冊:2004-01-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-02 12:23:43 IP:218.171.xxx.xxx 未訂閱
BCB 有提供 #pragma startup 這好用的功能, 可以在程式開始前做一些初始化的工作, 最重要的還可安排執行的順序。    不知相同的功能在其他平台或編譯器要怎麼做    
    #include 
#pragma argsused
int main(int argc, char* argv[])
{
  cout << "main" << endl;
  return 0;
}    void test1(void)
{
  cout << "test1" << endl;
}    void test2(void)
{
  cout << "test2" << endl;
}    #pragma startup test1 101
#pragma startup test2 102    
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-14 19:18:03 IP:211.76.xxx.xxx 未訂閱
在此有解答: http://www.digitalmars.com/archives/cplusplus/3663.html    只是,這與放在 main() 的最前面有什麼不同? 直接放在 main() 的最前面應該是可以用在其他平台及編譯器。    吃軟也吃硬 dllee.ktop.com.tw StatPlus 系統資源監測器 @ KTOP OpenPLC - IEC61131-3 geOShell XP Like 中文版
------
http://www.ViewMove.com
jackyung
一般會員


發表:22
回覆:46
積分:13
註冊:2004-01-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-02-27 23:32:05 IP:218.171.xxx.xxx 未訂閱
主要是用來建立全域物件,不過我找到了好方法,看下面這篇 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=65141
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-02-28 08:55:07 IP:211.76.xxx.xxx 未訂閱
引言: 主要是用來建立全域物件,不過我找到了好方法,看下面這篇 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=65141
需要那麼麻煩嗎?
// mainunit.cpp
A *Aobj;    int main(int argc, char* argv[])
{
  Aobj=new A;
  try
  {
    // do something...
  }
  __finally
  {
    delete Aobj;
  }
  return 0;
}    // subunit.cpp
extern A *Aobj;    int sub1()
{
  // using Aobj->xxx
}
Generalize:
// mainunit.cpp
int main(int argc, char* argv[])
{
  DoInitialize();  // 建出 global 變數或需要初始的動作
  try
  {
    // do something...
  }
  __finally
  {
    DoFinalize();  // 清除 global 變數或收尾的動作
  }
  return 0;
}
簡單的事為什麼需要複雜化呢? 是否有其他原因需要複雜化,我很好奇 < href="http://free.greenworld.com.tw/~dllee/" target="blank">吃軟也吃硬 dllee.ktop.com.tw StatPlus 系統資源監測器 @ KTOP OpenPLC - IEC 61131-3 geOShell XP Like 中文版
------
http://www.ViewMove.com
jackyung
一般會員


發表:22
回覆:46
積分:13
註冊:2004-01-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-02-28 18:27:36 IP:218.171.xxx.xxx 未訂閱
我覺還是那位高手的方法要簡單多了,不必要求使用端去初始,不必 顧慮初始的順序,而且使用端可立即使用,就像使用 cout 一樣。 我是要做元件,不讓使用者負擔太多,能夠在元件設計時就安排好一切
系統時間:2024-05-19 18:18:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!