2012/03/19

math.h-тай нэг сайн муудалцав

Удахгүй шалгалт болох гээд байдаг. Харин би гэдэг хүн хийх юм олдохгүй дэмий энэ тэр ухаж явж байгаад програмчлалын бодлого боддог ч юм бил үү гээд оролдож суулаа. Тэгээд Си дээр програмаа бичсэн чинь алдаа өгөөд байдаг юм байна. Юу вэ? pow, ceil гээд л math.h-ын функцүүдэд алдаа өгөөд болдоггүй. Би ч бүүр Си хэлээ мартаж дээ гээд сэтгэлээр унаад байтал Гүүгэл ах надад яаж аргалах аргыг зааж өгөв.

Миний бичсэн жишээ програм:
//test.c
#include <stdio.h >
#include <math.h >

int main()
{
    int a = 2, b = 3;
    printf("%lf", pow(a, b));
    return 0;
}

-----------------------------
$gcc  test.c
... гэж хөрвүүлэх гэвэл

/tmp/cciJ1Fht.o: In function `main':
test.c:(.text+0x21): undefined reference to `pow'
collect2: ld returned 1 exit status

гэсэн алдаа өгч байна.

----------------------------------------------


Засахдаа

$gcc test.c -lm

гэж math-ын сантай холбож өгөх ёстой юм байна л даа.
Одоо тэгээд үүссэн програмаа ажиллуулбал
$./.a.out
8.000000

Дээрхийг Eclipse IDE дээр тохируулахдаа:
Project->Properties гэж ороод

Libraries гэдэг дээр add гэдгийг нь дараад "m" гэж оруулаад болоо.

No comments:

Post a Comment