Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 21 gru 2024, o 18:09


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 12 paź 2021, o 14:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 paź 2016
Posty: 105
Pomógł: 1

- z yellow booka wziąłem pliki soft_timers.* z lekcji 08_Matrix_test m328P i dołączyłem do programu pod Arduino.
- jeśli w programie ustawię
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

to mam błędy jak poniżej
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

- jeśli zaś wstawie taka linię to jest dobrze i kompilacja pod Arduino się wykonuje bez błędu.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

- dlaczego tak się dzieje ?
- zmienić Arduino na jedyną słuszna platformę albo problemy z C lub z C++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 paź 2021, o 14:13 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

Panie kochany a gdzieś ty widział żeby moje biblioteki miały dopisek że są pod andruino ? Żadna nie będzie działać pod andruino. Toż wszędzie piszę, że programowanie w C ! Co to ma wspólnego z andruinowym C++ ? No chyba, że może nawet nie wiedziałeś że w andruinie programuje się w pseudo C++ - no to już wiesz. ;)

Zatem zapomnij o tym, że gdziekolwiek znajdziesz cokolwiek napisanego przeze mnie dla andruino - nigdy - więc na przyszłość po prostu nie myl pojęć bo sam sobie namieszasz ;)

------------------------ [ Dodano po: 1 minucie ]

a inkludowanie plików *.c to już w ogóle porażka ;) Polecam ci jednak przesiąść się jak najszybciej na czysty język C - poważnie.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 paź 2021, o 16:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 lis 2019
Posty: 145
Pomógł: 37

Cytuj:
- dlaczego tak się dzieje ?

Nazwy funkcji w C++ są poddawane specjalnym zabiegom (tzw. manglowaniu) czego w C nie ma więc konsolidator nie może funkcji znaleźć mimo że ona jest.
To nie znaczy, że nie można łączyć kodu C++ z C. Można. Należy zastosować dyrektywę extern. Na przykład w kodzie C++ otoczyć włączany plik nagłówkowy dyrektywą.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Lepszym sposobem jest wstawienie dyrektywy w pliku nagłówkowym. Wtedy włącza się plik zawsze tak samo, jak zwykle, niezależne czy w C++ czy C.Na poczatku pliku nagłówkowego wstawia się
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

a na końcu pliku
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Pomiędzy wstawia się prototypy, makra, definicje, jak zwykle.

Włączenie pliku źródłowego "zadziałało" ponieważ włączony kod został skompilowany tak jak kod C++ tj. z manglowaniem


Autor postu otrzymał pochwałę

_________________
Think for yourself and question authority.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO