Feeds:
文章
留言

Archive for 九月 10th, 2005

32位元移植到64位元

從軟體的層面來看,因為成為64位元環境的關係,一部分的資料型態會被擴充,但在不同平台就會有不同的擴充結果,所以要特別留意
* Windows
資料型態  32bits   64 bits
int              4bytes  4bytes
long           4bytes  4bytes
pointer       4bytes  8bytes
 
* Unix
資料型態  32bits   64 bits
int              4bytes  4bytes
long           4bytes  8bytes
pointer       4bytes  8bytes
 
在32位元環境下,這兩種平台的三種資料型態皆為32位元(4 bytes),所以被稱為 ILP32(int, long and pointer are 32bits),在64位元環境的Windows,只有pointer被擴充為64位元,所以被稱為P64(int and long are 32bits, pointer are 64bits),在64位元的Unix,long和pointer為64位元,int為32位元,因此稱為LP64(long and pointer are 64bits)。
 
因此,程式再移植階段第一個要修改的就是資料型態的問題。

Read Full Post »

 

 

Read Full Post »

C/C++如何取得環境變數

在 ANSI C 中並沒有規範取得環境變數的方法,不過一般C編譯器時作品都允許透過main的第三個參數來取得,以下是個簡單的範例
// VC6.0 
#include "stdafx.h"
#include <iostream>
int main(int argc, char* argv[], char **env)
{
   using std::cout;
   using std::endl;
   char **p = env;
   while(*p){
      cout << *p++ << endl;  
   }
    return 0;
}
 
// BCB 6.0
#include <iostream>
#pragma hdrstop
#pragma argsused
int main(int argc, char* argv[], char** env)
{
  using std::cout;
  using std::endl;
 char **p = env;
 while(*p){
  cout << *p++ << endl;
 }
  return 0;
}
執行結果:

Read Full Post »

C# 如何編譯包含 unsafe 區段

1. 命令模式

csc /unsafe in.cs

 

2. Visual Studio .Net IDE 如何設定

  1. 開啟專案的 [屬性頁] 對話方塊。
  2. 按一下 [組態屬性] 資料夾。
  3. 按一下 [建置] 屬性頁。
  4. 修改 [容許 unsafe 程式碼區塊] 屬性 (Property)。

 

 

3. 程式中設定

還不是很清楚….只知道設定 AllowUnsafeBlocks 屬性

 

Read Full Post »

網路版 Office

瀏覽 firefox 中文論壇的時候看到有人在討論,留個紀錄也許以後用的到,雖然效能上的評價似乎不太優~

 

免費的線上 Office (doc、ppt、xls)

http://online.thinkfree.com/index.jsp

更詳細的功能介紹請參考以下網址

http://0rz.net/f90Ep

http://0rz.net/b70Gx

Read Full Post »

判斷各種不同的瀏覽器

 var agt=navigator.userAgent.toLowerCase();
 var is_major = parseInt(navigator.appVersion); 
 var is_nav = ((agt.indexOf(‘mozilla’)!=-1) && (agt.indexOf(‘spoofer’)==-1)
 && (agt.indexOf(‘compatible’) == -1) && (agt.indexOf(‘opera’)==-1)
 && (agt.indexOf(‘webtv’)==-1) && (agt.indexOf(‘hotjava’)==-1));
 var is_gecko = (agt.indexOf(‘gecko’) != -1); 
 var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
 var is_aol = (agt.indexOf("aol") != -1);
 var is_opera = (agt.indexOf("opera") != -1);
 var is_win = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );

IE3: parseInt(navigator.appVersion) < 4

IE4: parseInt(navigator.appVersion) == 4 && agt.indexOf("msie 5.0")   ==   -1

IE5: parseInt(navigator.appVersion) == 4 && agt.indexOf("msie 5.0")   !=   -1

IE55: parseInt(navigator.appVersion) == 4 && agt.indexOf("msie 5.5")   !=   -1

NS2: parseInt(navigator.appVersion) == 3

NS3: parseInt(navigator.appVersion) == 3

NS4B: parseInt(navigator.appVersion) == 4 && parseFloat(navigator.appVersion) <= 4.03

NS4: parseInt(navigator.appVersion) >= 4

NS6: parseInt(navigator.appVersion) >= 5

Read Full Post »

C 語言標準函數庫

 
前一陣子要查 C 語言的指令,臨時找不到,剛好今天清理電腦資料的時候找到一個連結,剛好是我需要的索引^^

 

Read Full Post »

Older Posts »