..:: BİLGİ VADİSİ ::.. BİLGİ VADİSİ RSS   TWİTTER   BİLGİ VADİSİ FORUM FACE GRUBU  

Anasayfa Kimler Çevrimiçi Bugünkü Mesajlar Forumları Okundu Kabul Et
Geri git   ..:: BİLGİ VADİSİ ::.. > BİLGİSAYAR & İNTERNET BÖLÜMÜ > BİLGİSAYAR GENEL EĞİTİM BÖLÜMÜ
Google

BİLGİSAYAR GENEL EĞİTİM BÖLÜMÜ Bilgisayar hakkında merak ettiğiniz her şeyi ve püf noktaları burada bulabilirsiniz

   

 
Konu Bilgileri
Konu Başlığı
C++ Da İşletim Sistemi Yönetimi
Konudaki Cevap Sayısı
0
Şuan Bu Konuyu Görüntüleyenler
 
Görüntülenme Sayısı
469

Yeni Konu aç Cevapla
 
Seçenekler Stil
Eski 14.05.10, 12:09   #1
crazyossie
 
crazyossie - ait Kullanıcı Resmi (Avatar)
Kullanıcı Bilgileri
 
Üye Numarası: 109
Üyelik tarihi: 20.08.2008
Yaşım: 42
Mesajlar: 5.693
Konular: 4141
Rep Bilgisi
Rep Gücü : 32
Rep Puanı : 1000
Rep Seviyesi : crazyossie has much to be proud ofcrazyossie has much to be proud ofcrazyossie has much to be proud ofcrazyossie has much to be proud ofcrazyossie has much to be proud ofcrazyossie has much to be proud ofcrazyossie has much to be proud ofcrazyossie has much to be proud of
Aktivite
Level: 53 [♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥]
Paylaşım: 132 / 1324
Güç: 1897 / 63222
Tecrübe: 96%

İletişim
Standart C++ Da İşletim Sistemi Yönetimi

system() Fonksiyonu Bu kısımda standart bir derleyicinde bulunan, stdlib.h kütüphanesindeki system() fonksiyonu anlatılacaktır. Bu fonksiyon kendisine parametre olarak gelen ifadeyi UNIX, Linux veya MS-DOS komut satırına yazar ve çalıştırır. system() fonksiyonu ile, bilgisayarın tüm dosya ve çevre birimleri, küçük program parçaları sayesinde kontrol edilebilir. Genel yazım biçimi:
system("işletim_sistemi_komutu");
Örneğin, Windows dizininde bulunan tüm dosyaları listelemek için
system("dir c:\\windows");
Bu fonksiyon Linux İşletim sisteminde de kullanımı aynıdır. Örneğin /root/bingul/www dizinindeki dosya ve alt dizinleri listelemek için
system("ls -asl /root/bingul/www");
Program 19.1 D: sürücüsünde bulunan tüm dosyaları gizli ve salt okunur hale getirmek için kullanılır. Son olarak derleyicinin EXE kodu üreteceğini unutmayın. Bu EXE kodu her bilgisayarda çalışır.
Program 19.1 : D: sürücüsünde bulunan bütün dosyaları gizli ve salt-okunur hale getirir
1: /* D: sürücüsündeki bütün dosyaları gizli ve salt-okunur hale getirir */
2: #include <stdlib.h>
3: main()
4: {
5: system("attrib d:\\*.* +h+r");
6: }
Program 19.2 proramında autoexec.bat dosyasına DOSKEYin nasıl yükleneceği gösterilmiştir. Bunun için >> yönlendirme operatörü kullanılmıştır. Bu operatör MSDOS işletim siteminde olduğu gibi Linux işletim sisteminde de kullanımı aynıdır.
Program 19.2 : Bilgisayar açılışında DOSKEY in yüklenmesi
1: /* autoexec.bat dosyasına 'doskey /insert' yazar */
2: #include <stdio.h>
3: #include <stdlib.h>
4:
5: main()
6: {
7: system("echo. >> c:\\autoexec.bat");
8: system("echo doskey /insert >> c:\\autoexec.bat");
9: printf("DOSKEY açılışa yüklendi...\n");
10: }
DOSKEY açılışa yüklendi...
main() Fonksiyonuna Paremetre Aktarımı Fonksiyon inşasına dayanan bir C programında, ana programın kendisi, main(), de bir fonksiyondur. Ana programa parametre aktarımı, derlenmiş bir program komut satırından (işletim sistemi ortamından) ilk çalıştırılacağı zaman yapılır. Aktarılacak parametreler, programın adı yazılıp bir boşluk bırakıldıktan hemen sonra yazılır. Parametreler, komut satırından sayısal olarak girilse bile program içinde karakter topluluğu (string) olarak gelir. Bu durumda, string ifadeleri sayısal değerlere çeviren fonksiyonlar (atoi(), atol(), atof(),...) kullanılmalıdır. Genel kullanım biçimi:
...
main(arguman_sayisi,arguman_vektoru)
int arguman_sayısı;
char *arguman_vektoru[];
{
.
.
.
if(arguman_sayisi < ...){
printf("Eksik parametre !\n");
exit(0);
}
if(arguman_sayisi > ...){
printf("Çok fazla parametre !\n");
exit(0);
}
.
... arguman_vectoru[0] ... /* 1. eleman program adı */
... arguman_vectoru[1] ... /* 2. eleman 1. parametre */
... arguman_vectoru[2] ... /* 3. eleman 2. parametre */
.
}
Program 19.3 i dikkatle inceleyin.
Program 19.3 : komut satırından girilen iki sayının toplamını hesaplar
1: #include <stdio.h>
2: #include <stdlib.h>
3:
4: main(int argsay, char *argvek[])
5: {
6: int toplam;
7:
8: if(argsay < 3){
9: printf("Eksik parametre !\n");
10: exit(0);
11: }
12: if(arguman_sayisi > 3){
13: printf("Çok fazla parametre !\n");
14: exit(1);
15: }
16:
17: toplam = atoi(argvec[1])+atoi(argvec[2]);
18: printf("Toplamları %d\n",toplam);
19:
20: }
Program 19.3 in derlendikten sonra MS DOS ve Linux ortamında çalıştırılması şöyledir:
MS DOS | UNIX / Linux
----------------------------+-----------------------
c:\>topla 1 2 |$ topla 1 2
Toplamları 3 |Toplamları 3
|
C:\>topla 9 5 8 |$ topla 9 5 8
Çok fazla parametre ! |Çok fazla parametre !
|
C:\>topla 5 |C:\>topla 5
Eksik parametre ! |Eksik parametre !
|
Komut satırında yazılan dosya adı dahil toplam parametre sayısı 3 tür. Bunlar:
argsay = 3

1 2 3
----- ----- -----

topla 58 34

^ ^ ^
| | |
argvek[0] argvek[1] argvek[2]
şeklindedir.
Aşağıda verilen iki program linux işletim sistemindeki cp ve wc komutlarının basit kaynak kodlarıdır:
ww.uydulife.tv
crazyossie isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Yeni Konu aç Cevapla

Bookmarks

Etiketler
c++ da işletim sistemi yönetimi


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Yeni Mesaj yazma yetkiniz Aktif değil dir.
Mesajlara Cevap verme yetkiniz aktif değil dir.
Eklenti ekleme yetkiniz Aktif değil dir.
Kendi Mesajınızı değiştirme yetkiniz Aktif değildir dir.

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı

Gitmek istediğiniz klasörü seçiniz


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Dizayn ve Kurulum : Makinist
Forum SEO by Zoints

E-Marine Education | Vbulletin | Tosfed |
www.bilgivadisi.biz   www.bilgivadisi.biz