This is default featured post 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

Sunday, October 28, 2012

Jinsi ya kuinstall Boost C++ library kwenye windows 7 na MinGW(gcc) compiler

Katika tutorial hii ntawaonyesha jinsi ya kucompile boost c++ library kwenye windows kwa kutumia MinGW compiler, ambayo ni gcc compiler kwa windows. Kabla ya kuendelea hakikisha umeinstall MinGW na MSYS.

Kwanza kabisa download boost kutokea hapa. Download (.zip) file. Extract boost. Ukishamaliza fungua command prompt. andika cmd kwenye search bar iliyopo kwenye start menu. kisha nenda kwenye directory uliyoextract boost. Andika

cd boost_directory_path

example: cd C:\Users\bongotuts\Downloads\boost_1_51_0\boost_1_51_0

kisha andika

bootstrap.bat gcc

ukimaliza andika

bjam --toolset=gcc link=static stage
 
au
 
bjam --build-type=complete --toolset=gcc stage 
 
Libraries zote zitakuwa kwenye stage folder. 



Tuesday, October 16, 2012

Jinsi ya kuandaa bootable USB flash disk ya windows 7

Intro

Katika tutorial hii ntawaonyesha jinsi ya kuandaa bootable flash disk yenye windows 7 kwa wale wanaotaka kuinstall windows 7 kwa kutumia flash disk. Kama ulishawahi kujiuliza kwa zile computer ambazo hazina CD/DVD drive inakuwaje watu wanainstall operating sytems, basi hii ni njia mojawapo na rahisi. Unaweza pia kununua external CD/DVD drive ambayo inachomekwa kwenye USB, lakini kwa nini ufanye hivyo wakati unaweza kuifanya flash disk yako ikainstall windows. Leo ntawaonyesha kufanya hivi wakati unatumia ubuntu. Kwa wale ambao wanatumia windows, zipo programs nyingi kwenye internet kwa ajili ya kazi hii, zikiwemo za bure na kulipia. Baada ya longo longo wacha tuchape kazi.


Jinsi ya Kuandaa

Kwanza kabisa utahitaji program inaitwa WinUSB, Fungua terminal(Shikilia Ctrl+Alt+T). kisha andika commands zifuatazo moja baada ya nyingine.
sudo add-apt-repository ppa:colingille/freshlight
sudo apt-get update
sudo apt-get install winusb
Kwa wale wasiofahamu commands za ubuntu, apt-get inatumika kuinstall, kuondoa program yoyote, ina kazi nyingine pia. Sudo ikiwa kabla ya command yoyote inamaanisha "command inayofuata irun kama root(administrator kwa windows)".

Ukishamaliza program itajiinstall kwenye system tools(ndani ya Applications). ifate na uibonyeze. Chagua file lako la ISO, chomeka USB flash disk yako. Flash disk itaonekana kwenye Target device baada ya kuichomeka. Hakikisha kwenye flash disk yako hamna kitu cha muhimu kwani hii program itaiformat flash disk. Ukisha chagua flash disk kwenye Target device bonyeza install, kisha subiri program ifanye kazi yake. Baada ya kumaliza flash disk yako itakuwa tayari kwa matumizi.


Hii program pia inarun kwa command lines kwa wale wanaopenda commands. Kwenye terminal andika winusb au winusb --help , utaona maelezo ya jinsi ya kutumia.



Tuesday, October 9, 2012

Jinsi ya kutumia gcc compiler(Basic)

Intro

Kwenye tutorial hii ntawaonyesha jinsi ya kutumia gcc compiler kucompile programs zako. Kwa kirefu gcc inamaanisha GNU Compiler Collections ambayo inajumuisha programming language nyingi kama vile C/C++, Java, Objective-C na zinginezo nyingi. Kwenye hii tutorial ntawaonyesha jinsi ya kucompile C/C++ programs, kwa lugha nyingine kama java na objective-c jinsi ya kucompile kunafanana utahitaji kuongeza vitu vichache tu. Ili kufuatisha vizuri hii tutorial inabidi uwe kwenye linux na uwe umeinstall gcc.


Jinsi ya kuinstall

Kwa wale wanaotumia Ubuntu au Debian-based distro yoyote ya linux watatumia commands zifuatazo. Fungua terminal, shikilia Ctrl+Alt+T.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install gcc build-essential
au hivi kama kuna version maalum ambayo unataka kuinstall. kwenye gcc-4.4 badilisha weka version unayoitaka.
sudo apt-get install gcc-4.4

Jinsi ya kucompile

Kwa ufupi
Kwanza kabisa inabidi uwe upo kwenye directory ambayo source files zako zipo, tumia commands (cd, ls) kwenda kwenye hiyo directory. cd kwakirefu ni "change directory" inatumika kubadili directory, na ls kwa kirefu "list" inatumika kulist directories na files ambazo zipo kwenye current directory.
kwa mfano
mkdir source
cd source
N.B: mkdir kwa kirefu ni "make directory" inatumika kutengeneza directory, baada ya hii command ukiandika ls, itakulistia directories na files zote kwenye current folder. folder na directory zinamaanisha kitu kimoja

kwa ufupi tu, kama unataka kutumia program yoyote kwa kutumia commands kwenye terminal basi inabidi uandike jina la hiyo program ikifuatiwa na inputs ambazo hiyo program inahitaji. Jinsi ya kuweka inputs kwenye program inategemea sana na programmer aliyeiandika hiyo program lakini kwa linux syntax inakuwa hivi

jina-la-program  -label1 input1 -label2 input2 ...

labels zinakuwa zinaonyesha hiyo input inayokuja inamaanisha nini au muda mwingine inatumika kuchagua program ifanye kitu gani baina na vitu vingi. Labels huwa zinaandikwa kwa kuanza na dash(-). Mara nyingi labels zikiwa ni herufi moje zinaanziwa na dash na zikiwa ni herufi zaidi ya moja zinaanziwa na dash mbili(--). kwa mfano, gcc -Wall main.c -o main . gcc ni jina la program ambayo ni compiler, -Wall ni label imetumika kuswitch warnings zote ambayo compiler itatoa ziwe displayed wakati wa kucompile, -o ni label inaonyesha file linalokuja ni jina la output file. kwa hiyo hii command itacompile main.c na kutoa program ambayo itaipa jina la main, unaweza kubadilisha jina la kwenye -o, sio lazima yafanane.

N.B: gcc au g++ inadetect source files automatically kwa hiyo haina haja ya labels kwa ajili ya input source files. Pia hauhitaji kuandika header files(.h files).

Simple
Kama una file moja tu, mfano main.cpp na kwenye hilo file hamna libraries zozote unazozitumia zaidi ya standard libraries, andika

g++ main.cpp -o main 

hii command inachukua main.cpp kama input na kuicompile na kutoa main program. -o inamaanisha jina la output file.

Kucompile program ambayo source files zake zipo kwenye folder moja
Kwa programs ambazo source files zipo kwenye folder moja syntax ipo hivi

g++ list-of-all-input-files -o program-name

mfano:
g++ source1.cpp source2.cpp source3.cpp -o myprogram

Kwa wale ambao ndio wanaanza kujifunza C au C++ programming hii tutorial inawatosha, Ila pia unaweza kuendelea na tutorial "Jinsi ya kutumia gcc compiler(Advanced)"

Monday, October 1, 2012

Introduction to C

Intro

Kwenye tutorial hii tutajifunza jinsi ya kuandika program kwa kutumia C. Kwanza kabisa kabla sijaanza kuna maneno inabidi tuyafahamu. Maneno hayo ni Machine code, Assembly language, High-level language, Compiler, Function na Libraries.
Machine code ni nini?
Machine code ndio lugha ambayo computer inaelewa. Pindi unaporun/execute program operating system huwa inacopy program yote na kuipeleka kwenye memory, program inakuwa ipo kwenye machine codes. Kama huelewi hii usihofu itakuja kuwa clear baadae kidogo.
Assembly Language ni nini?
Kama utakuwa umejiuliza, kama machine code ndio lugha ambayo kompyuta inaelewa na ndio ipo kinamba namba kama huo mfano juu, je kama nataka kuandika program ntaandikaje?, jibu mojawapo ni kwa kutumia assembly language, assembly language inatumia maneno ya kawaida(instructions) badala ya machine code. kwa mfano badala ya 32H 0EH 12H 00H kwenye assembly mtu anaandika XOR CL, [12H], ambayo inamaanisha fanya exclusive OR ya CL register na contents za kwenye register 12H. kiufupi ni kwamba assembly language ni kama vile umereplace numbers za kwenye machine code na maneno. Machine code zinategemeana na processor, kwa mfano, mfano huo hapo nliowapa ni wa intel x86. Mfano mwingine huu hapo chini, ambao ni wa PIC microcontrollers.
Mfano:
SetUp BSF 03,5 ;Go to Bank 1  
 MOVLW 01 ;Put 01 into W to
 MOVWF 05 ;   
 BCF 03,5 ;Go to Bank 0
 CLRF 1F  ;Clear the button-press file
 GOTO Main
 
High-level language ni nini?
Hapo zamani wakati kompyuta zinaingia wahandisi wa kompyuta walikuwa wakiandika program zao kwa kutumia assembly, kwa kipindi hicho program zilikuwa ni ndogo kwa hiyo haikuwasumbua sana. Kwa mfano, program zilizotumika katika mission ya kwanza ya kwenda mwezini ziliandika kwa kutumia assembly language. Kadri miaka ilivyoenda program zilianza kuongezeka ukubwa na kuandika kwa kutumia assembly ikawa inakuwa ngumu zaidi, ndio hapo high-level language zilipoingia. Hebu jiulize, kwani nikiandika maneno tofauti ambayo sio assembly kuiambia kompyuta ifanye kitu flani halafu nikatumia program nyingine kubadilisha yale maneno kuyapeleka kwenye machine code, haiwezekani? Jawabu ni kwamba inawezekana na maneno utakayo andika ndio itakuwa high-level language na hiyo program utakayotumia kubadilisha maneno yako kwenda kwenye machine code ambayo kompyuta inaelewa ndo inaitwa Compiler. Kwa kipindi hicho high-level language nyingi sana zilikuwa designed, na moja kati ya hizo ni hii tutakayojifunza kwenye hii tutorial ambayo ni C. Kihistoria kulikuwa na lugha kabla ya C, ilikuwa inaitwa B, kwa hiyo kufuata huo mtiririko ndo hii lugha ikaitwa C!.

Mfano wa high-level language(C)
#include <stdio.h>
int main()

 printf("Hello Bongo Tutorials");
 return 0;

}
 Functions ni nini? 
kwenye high-level language kama c, kunakuwa na functions ambazo ni collection of instructions ambazo zinafanya kitu flani, kwa mfano kwenye huo mfano hapo juu, printf() ni function ambayo kazi yake ni kuandika maneno kwenye terminal/console. Bila kufahamu hii function inafanya nini, wewe unachofanya ni kuandika maneno unayotaka yaandikwe kwenye console, kisha vitu vingine vyote printf itafanya. Functions zinatambulika kwa mabano (), kwa mfano printf(), hata main pia ni function kwa sababu imeandikwa main(). Ila main ina tofauti kidogo, tofauti yenyewe ni kwamba program yako yoyote utakayoandika inaanza kufanya kazi kwenye main, hivyo basi kwenye program yoyote ni lazima kuwepo na main function, la sivyo program haitofanya kazi kwa sababu hamna pakuanzia.

Libraries ni nini?
kama tulivyoona hapo juu, tulitumia function printf(), labda kuna waliojiuliza, imetokea wapi tena?je na mimi nikiandika andika("Hello Bongo Tutorials") badala ya printf() kompyuta itaelewa? Jawabu ni kwamba kompyuta haitaelewa, kwenye tutorial zinazokuja ntawaonyesha jinsi ya kuandika functions zako mwenyewe. Lakini kwa sasa hebu tujibu swali, kompyuta imeelewaje printf()? Kompyuta imeelewa printf() kwa sababu ipo kwenye stdio header file. Header files zinahifadhi functions mbali mbali na zinakuwa zinaextension ya .h kama stdio.h. Kwa mfano, stdio(standard input output) header file ina functions nyingi ambazo zinahusiana na kuchukua input kutoka kwa mtumiaji na kutoa ouput kama vile kuandika maneno kwenye console. Library ni collection ya files(header files na source files).Kwa mfano C language ina standard library yake ambayo ndo ina stdio.h. Tutaona zaidi kuhusu stdio kadri tunavyoendelea na tutorials zetu za C. Turudi kwenye kompyuta imeelewaje? kompyuta imeelewa hivi, mstari wa kwanza kabisa unasema #include<stdio.h>, huu unamaanisha ziweke functions zote zilizopo kwenye stdio.h kabla haujacompile, ukishaandika huu mstari unaweza kutumia function yoyote iliyopo kwenye hili file. Cha muhimu ni kwamba kabla haujatumia function yoyote inabidi uinclude file lake juu kabisa ya program yako.
 

Tools

Kama tunavyofahamu kazi yoyote ili ifanyike kwa ufanisi tunahitaji tools nzuri kwa ajili ya kazi. Tools ambazo utahitaji kujifunzia C programming ni moja kati ya zifuatazo.
Ni vizuri kutumia eclipse kwa sababu inafanya kazi kwenye operating systems zote, ila inabidi uinstall java sdk kwanza soma tutorial "Jinsi ya kuinstall eclipse C/C++". Unaweza kutumia pia Dev C++ kama upo kwenye windows ila kabla ya kuitumia soma hii tutorial "Dev C++ vya kuzingatia". Xcode ni nzuri kama unatumia Mac OS lakini inahitaji kujiregister kabla haujadownload na kwa beginners ina vitu vingi sana ambavyo hautavihitaji, kwa watu wa Mac OS ningewashauri watumie Eclipse C/C++. Microsoft Visual Studio pia ni nzuri lakini ni program kubwa sana, kiasi kwamba saa nyingine unataka kufanya kitu kidogo tuu inachukua muda sana kuload. Microsoft Visual Studio Express ni free na ni maalum kabisa kwa ajili ya wanafunzi.