<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=47&amp;t=23967&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2021-10-12T16:29:06+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=47&amp;t=23967&amp;mode</id>
<entry>
<author><name><![CDATA[fofex]]></name></author>
<updated>2021-10-12T16:29:06+01:00</updated>
<published>2021-10-12T16:29:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23967&amp;p=233841#p233841</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23967&amp;p=233841#p233841"/>
<title type="html"><![CDATA[Re: Arduino Uno nie działa z bibliotekami soft_timers.h]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23967&amp;p=233841#p233841"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />- dlaczego tak się dzieje ?<br /></div><br />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. <br />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ą.<br />[syntax=c]extern &quot;C&quot; {<br />#include &quot;soft_timers.h&quot;<br />}[/syntax]<br />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ę <br />[syntax=c]#ifdef __cplusplus <br />extern &quot;C&quot; {<br />#endif[/syntax]<br />a na końcu pliku <br />[syntax=c]#ifdef __cplusplus<br />}<br />#endif[/syntax]<br />Pomiędzy wstawia się prototypy, makra, definicje, jak zwykle.<br /><br />Włączenie pliku źródłowego &quot;zadziałało&quot; ponieważ włączony kod został skompilowany tak jak kod C++ tj. z manglowaniem<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21072">fofex</a> — 12 paź 2021, o 16:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-10-12T14:13:27+01:00</updated>
<published>2021-10-12T14:13:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23967&amp;p=233840#p233840</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23967&amp;p=233840#p233840"/>
<title type="html"><![CDATA[Re: Arduino Uno nie działa z bibliotekami soft_timers.h]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23967&amp;p=233840#p233840"><![CDATA[
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. <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />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 <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />a inkludowanie plików *.c to już w ogóle porażka <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Polecam ci jednak przesiąść się jak najszybciej na czysty język C - poważnie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 12 paź 2021, o 14:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[spairo]]></name></author>
<updated>2021-10-12T14:05:47+01:00</updated>
<published>2021-10-12T14:05:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23967&amp;p=233839#p233839</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23967&amp;p=233839#p233839"/>
<title type="html"><![CDATA[Arduino Uno nie działa z bibliotekami soft_timers.h]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23967&amp;p=233839#p233839"><![CDATA[
- z yellow booka wziąłem pliki soft_timers.* z lekcji 08_Matrix_test m328P i dołączyłem do programu pod Arduino.<br />- jeśli w programie  ustawię<br />[syntax=c]#include &quot;soft_timers.h&quot;[/syntax] <br />to mam błędy jak poniżej<br />[syntax=c]d:\temp\ccIAjPGm.ltrans0.ltrans.o: In function `setup':<br />E:\download\Atnel\soft_timers2/soft_timers2.ino:213: undefined reference to `timer_init(unsigned char, unsigned int, unsigned char, void (*)(TSTIMER*))'<br />d:\temp\ccIAjPGm.ltrans0.ltrans.o: In function `loop':<br />E:\download\Atnel\soft_timers2/soft_timers2.ino:239: undefined reference to `TIMERS_EVENT()'<br />collect2.exe: error: ld returned 1 exit status<br />exit status 1<br />Błąd kompilacji dla płytki Arduino Uno.[/syntax]<br />- jeśli zaś wstawie taka linię to jest dobrze i kompilacja pod Arduino się wykonuje bez błędu.<br />[syntax=c]#include &quot;soft_timers.c&quot;[/syntax]<br />- dlaczego tak się dzieje ?<br />- zmienić Arduino na jedyną słuszna platformę albo problemy z C lub z C++.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15078">spairo</a> — 12 paź 2021, o 14:05</p><hr />
]]></content>
</entry>
</feed>