[Çözüldü] GCC ile derlerken bazı fonksiyonlardaki sorun

Başlatan Sh4oTT, 04 Ocak 2016 - 21:07:00

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Sh4oTT

Terminal üzerinden, yazdıgım C kodlarını derlerken gets() fonksiyonunda sorun yaşıyordum. Aynı sorunu abs() fonksiyonunda da alıyorum kodları derliyemiyorum sorunu nasıl çözebilirim?

Sorun şu:

gcc -o prg prg.c
prg.c: 'main' işlevinde:
prg.c:112:17: UYARI: 'abs' işlevinin örtük bildirimi [-Wimplicit-function-declaration]
            if ( abs( strlen( kelimedizi[t] ) - bulunanKelimeUzunluk ) > abs( st
                 ^

if

Alıntı Yap
-Wimplicit-function-declaration (C and Objective-C only)
    Give a warning whenever a function is used before being declared. In C99 mode (-std=c99 or -std=gnu99), this warning is enabled by default and it is made into an error by -pedantic-errors. This warning is also enabled by -Wall.
[1]

Fonksiyonu tanımlamadan kullanıyorsunuz ya da fonksiyon tanımı kullanımdan sonra geliyor.

[1] https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html

Sh4oTT

@if hayir fonksiyonun tanımlı oldugu kutuphane cagırıyorum basit ornek vermek gerekirse gets kullanımındada aynı hatayı alıyorum asagıdakı basıt kodda da hata verıyor:


#include <stdio.h>



int main () {

char veri[50];


puts("Bir kelime girin:");
gets(veri);















return 0;

}

gcc -o prg prg.c
prg.c: 'main' işlevinde:
prg.c:13:1: UYARI: 'gets' işlevinin örtük bildirimi [-Wimplicit-function-declaration]
 gets(veri);
 ^
/tmp/ccog64V6.o: In function `main':
prg.c:(.text+0x29): warning: the `gets' function is dangerous and should not be used.

if


prg.c:(.text+0x29): warning: the `gets' function is dangerous and should not be used.


gets() fonksiyonunun tehlikeli olduğunu ve kullanılmaması gerektiğini söylüyor bu hata. GCC 5.3 ile geldi sanırım bu özellik. abs fonksiyonu için stdlib.h kütüphanesini içermeniz gerekmiş. Gerekçesi: https://stackoverflow.com/questions/30452398/implicit-declaration-of-function-abs-gcc-5-1-0

Sh4oTT

@if hocam stdlib.h kutuphanesini ekledim calıstı tesekkur ederım. :) gets() fonksiyonunu artık kullanmayacaz :(

if


betseg