Trục trặc khi Return giá trị
Tôi dùng MPLAB IDE ver 8.46. tôi có 3 file h.c, g.h, main.c:
1-h.c chứa hàm unsigned long cal1(): unsigned long cal1(){ return 125100; } 2-g.h chứa hàm unsigned long cal2(). unsigned long cal2(){ return 125100; } 3-có 2 trường hợp: 3a- main.c chứa lệnh cal2() và in giá trị 125100 lên màn hình. 3b-main.c chứa lệnh cal1() và in giá trị không chính xác lên màn hình nếu giá trị này lớn hơn 32767. xin các bạn giải thích dùm |
Trích:
Thân, |
dùng trình dịch MPLABC30ComboLite_v3_23 cho chip dsp33fj64gp804.
Mong nhận câu trả lời sớm. |
bạn upload project bị lỗi của bạn lên thử.
|
Đây là Project của tôi đã làm đơn giản để dễ kiểm tra.
http://www.mediafire.com/?zh3zdqy2gdn |
Có vẻ như bạn mới làm với C.
Tất cả các hàm đều phải có khai báo mẫu hàm trước khi sử dụng, nếu ko khai báo mẫu hàm, Compiler sẽ ko biết hình dáng của hàm đó ra sao và sẽ coi hàm đó có kiểu trả về là int, ko có tham số. |
mình sửa lại rồi, bạn coi hộ mình, nó cũng bị lỗi.
http://www.mediafire.com/?cootc11hkem |
#include <p33FJ64GP804.h>
#include <libpic30.h> #include<uart.h> #include <stdio.h> #include <math.h> #include "g.h" Sao bạn không thử include luôn h.h vào đoạn trên thử xem, chỉ include có g.h thôi vậy |
không đựoc bạn à, vì trong file h.c đã include h.h giả sử nếu trong file h.h có định nghĩa các biến (vd: char i; hay là int j;...), nếu bây giờ ta lại include h.h vào trong file EX_0.c hay include nó vào bất cứ file.c nào cũng báo lỗi là multiple definition of ten_bien, có nghĩa là có đa định nghĩa biến,tức cùng một biến là có đa định nghĩa
|
file .h vốn ko phải là file dùng để khai báo biến.
|
Trích:
Anyway, xin vui lòng hiểu dùm mình là cái này mình chỉ nhớ là như vậy, ko đảm bảo 100%. |
Trích:
|
Àh, mà bạn thử ép cho nó ra long int luôn xem, ép bằng cáh
return (long int)125100 |
Múi giờ GMT. Hiện tại là 05:01 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam