Search This Blog

Friday, April 30, 2010

C Programming on Windows

C programming ကို စလေ့လာ နေကြတဲ့ မိတ်ဆွေ တွေက ဘယ် IDE ကို Windows ပေါ်မှာသုံး လို့ ကောင်းမလဲ လို့ မေးကြပါတယ်။ ကျွန်တော့် အထင်ကတော့ Microsoft Visual Studio Express က တော်တော် သုံးလို့ကောင်းပါတယ်။ ဒီလင့် http://www.microsoft.com/express/ မှာ အလကား ရ နိုင်ပါတယ်။ နောက် လူကြိုက်များတာ တစ်ခု ကတော့ Bloodshed က Dev-C++ ပါ။ သူ့ကို လည်း http://www.bloodshed.net/devcpp.html မှာ ဖရီး ဒေါင်းလုပ် လုပ် နိုင်ပါတယ်။ နမူနာ အနေနဲ့ C project တစ်ခုကို Visual C++ 2008 Express Edition မှာ ဖန်တီး ကြည့်ထားပါတယ်။ စစချင်း File menu>>New>>Project... ကိုသွားပါ။ New Project window ပေါ်လာ ပါမယ်။ Project types: Visual C++ မှာ Win32 ကိုရွေးပါ။ Templates: Visual Studio Installed templates မှာ Win32 Console Application ကိုရွေးပါ။ အောက်နားက text box မှာ project နာမည် ရိုက်ထည့် ပြီး၊ သိမ်းမည့် folder ကို ရွေးပါ။ OK ကိုနှိပ်ပါ။ Win32 Application Wizard box ပေါ်လာရင် Next ကိုနှိပ်ပါ။ Application type မှာ Console application ကိုရွေးပါ။ နောက် additional options: မှာ Empty project ကိုရွေးနိုင်ပါတယ်။ Finish ခလုပ်ကို နှိပ်ပါ။ အောက်မှာ ပြထားတဲ့ အတိုင်းSolution Explorer window ထဲက Source Files ပေါ်မှာ right click နှိပ်ပြီး Add>>New Item... ကိုနှိပ်ပါ။ Add new item window ပေါ်လာရင် Name text box ထဲမှာ file name ကို.c extension နဲ့ ထည့်ရိုက်ဖို့ အရေးကြီးပါတယ်။ ဥပမာ StrPos.c။ အောက်က နမူနာ ပရိုဂရမ်က ဘယ်လိုရေးရမလဲလို့ မေးကြတဲ့ string position ကို C library functions တွေ မသုံးပဲ ရှာတဲ့ဟာပါ။ စာလုံး အကြီး အသေး မခွဲ ပါဘူး။
#include <stdio.h>
typedef signed char   CHAR;
typedef signed int    POSITION;
#define ToL(c) (((c)>='A')&&((c)<='Z')?(c+0x20):(c))
POSITION strcmp(CHAR* s1,CHAR* s2)
{ 
    for(;*s2;s1++,s2++) if(ToL(*s1)!=ToL(*s2)) return 0;
    return 1;
}
POSITION stripos (CHAR* haystack,CHAR* needle,POSITION offset)
{        
    for(;*(haystack+offset);offset++) if(strcmp(haystack+offset,needle)) return offset;    
    return -1;  
}
int main(int argc,char *argv[])
{
  CHAR str1[]="Hello! Good morning!";
  CHAR str2[]="good";
  printf("\nFound at: %d \n",stripos(str1,str2,0));   
  return 0;
}
အဲဒီနောက် F5 သို့မဟုတ် Debug menu>>Start Debugging ကိုနှိပ်ပြီး run ကြည့်နိုင်ပါတယ်။ Debug menu>>Start Without Debugging ကို သုံးလို့လည်း ရပါတယ်။