stdlib.h dosyası ne işe yarar ?

Başlatan elbinaz, 30 Temmuz 2012, 03:43:36

elbinaz


engineer42

stdlib.h demek standart library header demek... yani c de mesela standar kütüphaneyi çağırıyor...

Erdem

cstdlib (stdlib.h) C standart kütüphanesinde bulunan bellek yönetimi, ortamla etkileşim, tamsayı aritmetiği, arama, sıralama, dönüştürme gibi işlevlerin bildirimlerini içinde bulunduran bir başlık dosyasıdır.

Makrolar:

    NULL
    EXIT_FAILURE
    EXIT_SUCCESS
    RAND_MAX
    MB_CUR_MAX

Değişkenler:

    typedef size_t
    typedef wchar_t
    struct div_t
    struct ldiv_t

İşlevler:

    abort();
    abs();
    atexit();
    atof();
    atoi();
    atol();
    bsearch();
    calloc();
    div();
    exit();
    free();
    getenv();
    labs();
    ldiv();
    malloc();
    mblen();
    mbstowcs();
    mbtowc();
    qsort();
    rand();
    realloc();
    srand();
    strtod();
    strtol();
    strtoul();
    system();
    wcstombs();
    wctomb();

elbinaz

30 Temmuz 2012, 04:35:00 #3 Son düzenlenme: 30 Temmuz 2012, 06:35:56 elbinaz
İlgi ve bilgi için teş ederim.
Benim programda (ki hazır buldum ) integral ve türev var acaba bunun için mi atılıyor bu?Ayrıca benim dosyalarda bu var mı? Onu nasıl programa atacam ?Programı nasıl çalıştıracam ?

mesaj birleştirme:: 30 Temmuz 2012, 04:37:48

Alıntı yapılan: Erdem  - 30 Temmuz 2012, 03:59:58
cstdlib (stdlib.h) C standart kütüphanesinde bulunan bellek yönetimi, ortamla etkileşim, tamsayı aritmetiği, arama, sıralama, dönüştürme gibi işlevlerin bildirimlerini içinde bulunduran bir başlık dosyasıdır.

Makrolar:

    NULL
    EXIT_FAILURE
    EXIT_SUCCESS
    RAND_MAX
    MB_CUR_MAX

Değişkenler:

    typedef size_t
    typedef wchar_t
    struct div_t
    struct ldiv_t

İşlevler:

    abort();
    abs();
    atexit();
    atof();
    atoi();
    atol();
    bsearch();
    calloc();
    div();
    exit();
    free();
    getenv();
    labs();
    ldiv();
    malloc();
    mblen();
    mbstowcs();
    mbtowc();
    qsort();
    rand();
    realloc();
    srand();
    strtod();
    strtol();
    strtoul();
    system();
    wcstombs();
    wctomb();

bunlarda int türv göremedim.Programı atıyorum çalışmıyor pic acaba benim bilgisyara ekstra bir programmı yüklemem gerekiyor ccs c dışında .Pic e direkt programı atıyorum başka birşey gerekiyor mu?

use fast_io(c) // port yönnlendirme
#use fast_io(a)
#include <stdlib.h>
#define use_portb_lcd TRUE//LCD B portuna bağlı
#include <lcd.c>

Erdem

Kodun tamamını ve hata mesajını görmeden yorum yapmak pek mümkün değil. Ayrıca CCS C yerine Hitech C kullanıyorum.

Ama anladığım kadarıyla önişlemci komutlarının belirli bir sırada yazılması gerekiyormuş.

http://www.ccsinfo.com/forum/viewtopic.php?t=44521

elbinaz

30 Temmuz 2012, 13:42:25 #5 Son düzenlenme: 30 Temmuz 2012, 17:32:39 elbinaz
Alıntı yapılan: Erdem  - 30 Temmuz 2012, 07:21:49
Kodun tamamını ve hata mesajını görmeden yorum yapmak pek mümkün değil. Ayrıca CCS C yerine Hitech C kullanıyorum.

Ama anladığım kadarıyla önişlemci komutlarının belirli bir sırada yazılması gerekiyormuş.

http://www.ccsinfo.com/forum/viewtopic.php?t=44521

Orada programın derlenemediği yazıyor bende öyle bir sorun yok isiste program çalışıyor .Yani hata mesajıda yok .Ben gerçekte pic te çıkış alamıyorum.Ben böyle bir dosyayı ilk defa görüyorum .acaba benim bilg bu dosyayı atmam mı gerekiyor.(nereden bulacaksam tabi)programın aslı bu
http://www.ccsinfo.com/forum/viewtopic.php?t=40259&highlight=nguyen+thanh+tuan+entete

mistek

Derleyicinizin içinde o dosyalar zaten yüklü olması gerekiyor ccs te olması lazım. Türevi nasıl aldığınızı merak ediyorum açıkçası bilgilendirirseniz memnun olurum. X'=X(n)-X(n-1) / t1-t0 değilse tabii.
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

atioky_216

31 Temmuz 2012, 06:30:30 #7 Son düzenlenme: 31 Temmuz 2012, 07:31:01 atioky_216
pic te ANSI C header dosyaları kullanılabiliyor mu ki? O dosyalar; makroları ve ilintili library dosyaları pic mimarisi için yazılmadığı için derlenemez, yanlış yada eksik mi biliyorum?

Ayrıca öyle integral yada türev almak PC başı math.h kütüphanesi kullanımı kadar kolay olmuyor iş mikrodenetleyiciye gelince, oturup bazı matematiksel yaklaşımları karıstırmak gerekiyor, seriler vs..

Gerçi pic bayadır kullanıldığından dolayı, istediğiniz modele uygun matematiksel fonksiyonların birileri tarafından yazılmış oldugunu dusunuyorum.

Düzeltme
------------
Bunu yazdıktan sonra msp430 için IAR dosyalarını karıstırdım ve mimariye uygun headerleri buldum, fakat dikkatli olmak lazım gordugum kadarı ile  içinde ne var ne yok nasıl kulllanılıyor iyi incelemek lazım. Bu gune kadar bu headerlerin varlığından dahi haberim yoktu, kulanma ihtiyacı duyacak kadar da karısık bir işle ugrasmamışım demekki yada işi uzun yoldan helletmişim,  bu vesile ile ogrenmiş bulunuyorum :D

elbinaz

Bu header hangi dosyada ben göremedim?

digiman

library, programın kurulu olduğu dizinde; genelde lib diye bir klasör aldında olur. ancak derleyiciye bu header ları dahil etmek illede içindeki fonksiyonları çalıştırabilirsiniz anlamına gelmiyor. yukarıda arkadaşların belirttiği gibi kullandığınız işlemcinin bu fonksiyonları desteklemesi gerekir ki 8 bir mcu larda türev vs nin desteklendiğini sannımıyorum. Tabiki integral almak için kendiniz uygun bir fonksiyon tanımlarsanız o ayrı.
Âlimin afeti, kendini büyük görmesidir.

elbinaz

Alıntı yapılan: muhamm@ - 30 Temmuz 2012, 16:23:33
Derleyicinizin içinde o dosyalar zaten yüklü olması gerekiyor ccs te olması lazım. Türevi nasıl aldığınızı merak ediyorum açıkçası bilgilendirirseniz memnun olurum. X'=X(n)-X(n-1) / t1-t0 değilse tabii.

türev şöyle aldırıyor programda (hata-önceki hata )/dt 
Alıntı yapılan: digiman - 02 Ağustos 2012, 03:14:04
library, programın kurulu olduğu dizinde; genelde lib diye bir klasör aldında olur. ancak derleyiciye bu header ları dahil etmek illede içindeki fonksiyonları çalıştırabilirsiniz anlamına gelmiyor. yukarıda arkadaşların belirttiği gibi kullandığınız işlemcinin bu fonksiyonları desteklemesi gerekir ki 8 bir mcu larda türev vs nin desteklendiğini sannımıyorum. Tabiki integral almak için kendiniz uygun bir fonksiyon tanımlarsanız o ayrı.

Program içerisinde tanımladığımız yeterli değil mi?

digiman

Tabiki yeterli, zaten dahil ettiğiniz kütüphaneyi bulamazsa derleyici hata verecektir. Ayrıca math.h içinde türev alma ile ilgili birşey göremedim. bulursanız bende kullanmak isterim. iyi geceler.
Âlimin afeti, kendini büyük görmesidir.

atioky_216

Alıntı yapılan: digiman - 02 Ağustos 2012, 03:14:04
library, programın kurulu olduğu dizinde; genelde lib diye bir klasör aldında olur. ancak derleyiciye bu header ları dahil etmek illede içindeki fonksiyonları çalıştırabilirsiniz anlamına gelmiyor. yukarıda arkadaşların belirttiği gibi kullandığınız işlemcinin bu fonksiyonları desteklemesi gerekir ki 8 bir mcu larda türev vs nin desteklendiğini sannımıyorum. Tabiki integral almak için kendiniz uygun bir fonksiyon tanımlarsanız o ayrı.


inceledim IAR ın msp430 için yazılan IDEsinde headerlerin içinde türev integral var, ancak her modelinde kullanılabilir mi? muhtemelen çekirdek mimarileri o seri için aynı idi , ancak dediğim gibi iyice okuyup inceleyip kullanmalı