Filtre

ANSI C

C dilinde üç beş zımbırtı…

22 Mayıs
2010
10:46

C’de ve POSIX ile Multithreading

ANSI C & Bilgisayar & Bilmuh'cular için 22 Mayıs 2010

Bu sene Doç. Dr. Aylin Kantarcı hocamızın verdiği İşletim Sistemleri 2 dersinde, süreç (process) ve iş parçacıklarının (thread) neler olduklarını ve nasıl işlediklerini ayrıntılı bir şekilde öğrendik. Bize verilen ikinci ödevde, iki matrisin çarpma işleminin her satırını bir iş parçacığına yaptıracağımız bir program istendi.

Ödevde, yaratılan bir thread çalışmaya başlamadan önce diğer tüm threadlerin yaratılmasını beklemeliydi. Biz de bu ödevi POSIX kütüphanesi ile hayata geçirdik.

POSIX: Linuxgiller. Onun için aşağıdaki kod Windows’ta çalışmaz.

Kaynak kodlarında mutex kullanımına örnek bulabilirsiniz. Kaynak kodlarını, ödev metnini ve ödev raporunu aşağıdan indirebilirsiniz. Kaynak kodu indirmek istemezseniz yazının devamına göz atabilirsiniz.

Dipnot: Kaynak kodları eğitim amaçlı olup, acemisi olduğum bir konu üzerinde yazılmış olduğundan bu kodları geliştirip Max Payne 3 yazarsanız ve yazdığınız oyun çökerse beni suçlayıp topuğuma sıkamayacağınızı bilmenizi isterim. Devamını oku »

yorum yok | toplam 196 kez okundu | bugün okuyan olmadı
21 Mayıs
2010
18:32

undefined reference to pthread_create

ANSI C & Bilgisayar & Bilmuh'cular için 21 Mayıs 2010

Linux’te program yazıyordunuz ve POSIX ile çok iş parçacıklı (multithreading) bir program yazmaya karar verdiniz.

Thread yaratmak için pthread_create kullandınız ve derleyici bu komutu inatla tanımıyor. “undefined reference to pthread_create” diyor.

Linux ödevini yaparken başıma gelmişti, sizin de gelebilir.

Muhtemelen libpthread kütüphanesini derleyiciye bağlamayı unuttunuz. Bu kütüphaneyi derleyiciye göstermek için derlerken kullandığınız komuta -lpthread parametresini de eklemelisiniz. Code::Blocks gibi görsel bir ortam kullanıyorsanız bu yapılandırmayı derleyici ayarlarından yapabilirsiniz: Devamını oku »

yorum yok | toplam 176 kez okundu | bugün okuyan olmadı
09 Mayıs
2010
15:35

C’de Processler ve vfork()

ANSI C & Bilgisayar & Bilmuh'cular için 09 Mayıs 2010

Bu sene Doç. Dr. Aylin Kantarcı hocamızın verdiği İşletim Sistemleri 2 dersinde, süreçleri (processler) ve nasıl işlediklerini ayrıntılı bir şekilde öğrendik.

Bize verilen ödevde, iki matrisin çarpma işleminin her satırını bir sürece yaptıracağımız bir program istendi. Ödevin daha sonra değiştirilen ve kontrolü iptal edilen ilk sürümünde, henüz IPC’leri görmediğimizden süreçler arası bilgi aktarımını süreçleri aynı adres sahasında farklı program counterlar ile çalıştırarak sağlamıştık. (vfork)

Zaten sonra IPC’lere dönüştürmek 15 dakikamı ya aldı ya almadı.

Vfork bir linux sistem çağrısıdır. (system call) Onun için aşağıdaki kod Windows’ta çalışmaz.

Kaynak kodlarını, örnek girdi dosyasını ve ödev metnini aşağıdan indirebilirsiniz. Kaynak kodunu indirmek istemezseniz yazının devamına göz atabilirsiniz. Devamını oku »

yorum yok | toplam 233 kez okundu | bugün 1 kez okundu
Etiketler: , , , , , ,
08 Mayıs
2010
00:39

C’de Processler ve IPC

ANSI C & Bilgisayar & Bilmuh'cular için 08 Mayıs 2010

Bu sene Doç. Dr. Aylin Kantarcı hocamızın verdiği İşletim Sistemleri 2 dersinde, süreçleri (process) ve nasıl işlediklerini ayrıntılı bir şekilde öğrendik. Üzerinde durduğumuz konulardan bir tanesi Inter Process Communication (Süreçler Arası İletişim) idi.

Bize verilen ödevde, iki matrisin çarpma işleminin her satırını bir sürece yaptıracağımız bir program istendi. Bu processler birbirleri ile bir IPC yöntemi olan pipeler ile iletişecekti.

Biz de bu ödevi POSIX arayüzünü kullanan işletim sistemlerine yönelik sistem çağrılarını kullanarak hayata geçirdik.

POSIX: Linuxgiller. Onun için aşağıdaki kod Windows’ta çalışmaz.

Kaynak kodlarını, ödev metnini ve ödev raporunu aşağıdan indirebilirsiniz. Kaynak kodu indirmek istemezseniz yazının devamına göz atabilirsiniz. Devamını oku »

yorum yok | toplam 303 kez okundu | bugün 1 kez okundu
Etiketler: , , , , , , , , ,
28 Aralık
2009
21:52

Ağaç Veri Yapısı [C++ Örnek]

ANSI C & Bilgisayar & Bilmuh'cular için 28 Aralık 2009

Bu yazı ziyaretçilerimden Oben Işık tarafından yazılmıştır. Oben Işık, İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği ikinci sınıfta okumaktadır. Katkıları için kendisine teşekkür eder, web sitesine bir an önce kavuşmasını dilerim.

Merhaba arkadaşlar, bir localhost yazısı ile daha karşınızdayım.

Sağolsun yazılımportal.com adresindeykenki sponsorumuz Turan İnanır’ın sitemin kapanacağını ve beni yüzüstü bırakacağını 10 gün kala haber vermesinden dolayı artık yazılarımı localhostta yazıp sizlerle paylaşıyorum, yani paylaşacağım.

Bu yazımda ağaç (tree) veri yapısını irdeleyeceğiz, hem de ne irdeleme!

Şunu en baştan söylemekte fayda var; bir çok veri yapısı zaten Standart Template Library (STL) de olan veri yapıları yani hazır olarak var fakat bizim amacımız bedava kullanmayı değil de işin mantığını öğretmek.

Mantığı öğrenmek sizin için çok önemli olacak çünkü belki ilerde başka bir veri yapısını da siz üreteceksiniz ve millet sizin hazır kütüphanenizi kullanacak, hoş olmaz mı? :D Devamını oku »

4 yorum var | toplam 1.247 kez okundu | bugün 3 kez okundu
11 Nisan
2009
00:00

Banka Şubesi Simülasyonu

Bu sene Algoritma ve Programlama dersi almamama rağmen hem birinci sınıflara yardımcı olsun, hem sitemin trafiği artsın :D , hem de internetteki C kaynak kodu örnekleri artsın diye ödev çözümlerini arkadaşlardan toplayıp paylaşıyorum. =)

Şaka bir yana, kodunu paylaştığı için Özlem’e çok teşekkür ediyorum. Umuyorum burada paylaşılanlar birinin işine yarar. Devamını oku »

3 yorum var | toplam 1.175 kez okundu | bugün okuyan olmadı
27 Mart
2009
09:00

Öğrenci-Ders Takip Sistemi

Bu sene Algoritma ve Programlama dersi almamama rağmen hem birinci sınıflara yardımcı olsun, hem sitemin trafiği artsın :D , hem de internetteki C kaynak kodu örnekleri artsın diye ödev çözümlerini sağdan soldan toplayıp paylaşıyorum. :D

Şaka bir yana, kodunu paylaştığı için Özlem’e çok teşekkür ediyorum. Umuyorum burada paylaşılanlar birinin işine yarar… Devamını oku »

1 yorum var | toplam 951 kez okundu | bugün okuyan olmadı
04 Ocak
2009
02:51

C’de İkili Arama Ağacı

binary-search-treeBu yazıda ikili arama ağacının C dilinde nasıl kodlanabileceğine dair basit bir örnek göreceksiniz. Yazmış olduğum program ikili bir arama ağacı oluşturur. Daha sonra kullanıcıdan bir değer alarak, bu değer kadar rastgele sayı oluşturur ve bunları arama ağacına ekler. Ekleme tamamlandıktan sonra ağacı inorder (kök ortada) dolaşarak rastgele yaratıp ağaca eklediği tüm sayıları listeler.

Kullanıcı daha sonra ağaçta bu sayıları arayabilir. Eğer sayı bulunursa ve bulunan sayı yaprak düğümdeyse (leaf node) girdi silinir. Eğer yaprak düğümde değilse sadece ekrana sayının bulunduğunu belirten bir yazı yazdırılır. Devamını oku »

2 yorum var | toplam 1.673 kez okundu | bugün 2 kez okundu
Etiketler: ,