<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
					xmlns:content="http://purl.org/rss/1.0/modules/content/"
					xmlns:wfw="http://wellformedweb.org/CommentAPI/"
					xmlns:atom="http://www.w3.org/2005/Atom"
				  >
<channel>
<atom:link rel="self"  type="application/rss+xml"  href="http://rulinux.net/rss_from_sect_4_subsect_6_thread_42588"  />
<title>rulinux.net - Форум - Development - [C] Собрать кучу h-файлов в один большой</title>
<link>http://rulinux.net/</link>
<description><![CDATA[Портал о GNU/Linux и не только]]></description>
<image><title>rulinux.net - Форум - Development - [C] Собрать кучу h-файлов в один большой</title>
<link>http://rulinux.net/</link>
<url>http://rulinux.net/rss_icon.png</url>
</image>
<item>
<title>Re:[C] Собрать кучу h-файлов в один большой</title>
<link>https://rulinux.net/message.php?newsid=42588&amp;page=1#216690</link>
<guid>https://rulinux.net/message.php?newsid=42588&amp;page=1#216690</guid>
<pubDate>Mon, 18 Jul 2016 14:30:23 +0300</pubDate>
<description><![CDATA[<p>Эта тварь не понимает КОИ-8! Испоганила мне все комментарии, а описательные комментарии вида &quot;// это функция не делает ничего, но нужна&quot; - выбросила.</p>]]></description>
</item>
<item>
<title>Re:[C] Собрать кучу h-файлов в один большой</title>
<link>https://rulinux.net/message.php?newsid=42588&amp;page=1#216689</link>
<guid>https://rulinux.net/message.php?newsid=42588&amp;page=1#216689</guid>
<pubDate>Mon, 18 Jul 2016 14:15:08 +0300</pubDate>
<description><![CDATA[<p>Не знаю. Изобрёл свой велосипед через cat с парой #ifndef-ов.</p>]]></description>
</item>
<item>
<title>Re:[C] Собрать кучу h-файлов в один большой</title>
<link>https://rulinux.net/message.php?newsid=42588&amp;page=1#216688</link>
<guid>https://rulinux.net/message.php?newsid=42588&amp;page=1#216688</guid>
<pubDate>Mon, 18 Jul 2016 14:10:57 +0300</pubDate>
<description><![CDATA[<p>Да. 
<br><br>
Кстати, это не для твоих целей сделали: <a href="https://github.com/dwd31415/single-c-file">https://github.com/dwd31415/single-c-file</a>?</p>]]></description>
</item>
<item>
<title>Re:[C] Собрать кучу h-файлов в один большой</title>
<link>https://rulinux.net/message.php?newsid=42588&amp;page=1#216686</link>
<guid>https://rulinux.net/message.php?newsid=42588&amp;page=1#216686</guid>
<pubDate>Mon, 18 Jul 2016 08:32:27 +0300</pubDate>
<description><![CDATA[<p>Можно, но если я захочу подключить этот input_full.h из какого-нибудь другого проекта (с относительным путём, например, ../input_full.h), мне придётся эту всю мелочь таскать с собой.</p>]]></description>
</item>
<item>
<title>Re:[C] Собрать кучу h-файлов в один большой</title>
<link>https://rulinux.net/message.php?newsid=42588&amp;page=1#216648</link>
<guid>https://rulinux.net/message.php?newsid=42588&amp;page=1#216648</guid>
<pubDate>Fri, 15 Jul 2016 16:33:54 +0300</pubDate>
<description><![CDATA[<p>&gt; иметь возможность как включать input.h, так и один большой input_full.h
<br><br>
А нельзя создать input_full.h, который будет просто иклюдить всю мелочь?</p>]]></description>
</item>
<item>
<title>Re:[C] Собрать кучу h-файлов в один большой</title>
<link>https://rulinux.net/message.php?newsid=42588&amp;page=1#216646</link>
<guid>https://rulinux.net/message.php?newsid=42588&amp;page=1#216646</guid>
<pubDate>Fri, 15 Jul 2016 16:04:24 +0300</pubDate>
<description><![CDATA[<p><s>Да, ты прав, cat рулит.</s> Нет, не рулит. Некоторые мелкие файлы любят включать в себя другие мелкие файлы, так что такой простой способ не годится. Нужно через препроцессор как-то, я думаю.<br><br><fieldset><legend>make</legend><div class="highlight make"><br />
tclsqlite3<span class="sy0">.</span>c<span class="sy0">:</span> &nbsp; sqlite3<span class="sy0">.</span>c<br />
&nbsp; &nbsp; &nbsp; &nbsp; echo <span class="st0">'#ifndef USE_SYSTEM_SQLITE'</span> <span class="sy0">&gt;</span>tclsqlite3<span class="sy0">.</span>c<br />
&nbsp; &nbsp; &nbsp; &nbsp; cat sqlite3<span class="sy0">.</span>c <span class="sy0">&gt;&gt;</span>tclsqlite3<span class="sy0">.</span>c<br />
&nbsp; &nbsp; &nbsp; &nbsp; echo <span class="st0">'#endif /* USE_SYSTEM_SQLITE */'</span> <span class="sy0">&gt;&gt;</span>tclsqlite3<span class="sy0">.</span>c<br />
&nbsp; &nbsp; &nbsp; &nbsp; cat <span class="sy0">$</span><span class="br0">&#40;</span><span class="re2">TOP</span><span class="br0">&#41;</span><span class="sy0">/</span>src<span class="sy0">/</span>tclsqlite<span class="sy0">.</span>c <span class="sy0">&gt;&gt;</span>tclsqlite3<span class="sy0">.</span>c<br />
&nbsp;</div></fieldset></p>]]></description>
</item>
<item>
<title>Re:[C] Собрать кучу h-файлов в один большой</title>
<link>https://rulinux.net/message.php?newsid=42588&amp;page=1#216645</link>
<guid>https://rulinux.net/message.php?newsid=42588&amp;page=1#216645</guid>
<pubDate>Fri, 15 Jul 2016 16:01:42 +0300</pubDate>
<description><![CDATA[<p>Хотелось бы иметь возможность как включать input.h, так и один большой input_full.h. Т. е. оба файла должны быть нормально компилируемыми.</p>]]></description>
</item>
<item>
<title>Re:[C] Собрать кучу h-файлов в один большой</title>
<link>https://rulinux.net/message.php?newsid=42588&amp;page=1#216644</link>
<guid>https://rulinux.net/message.php?newsid=42588&amp;page=1#216644</guid>
<pubDate>Fri, 15 Jul 2016 15:39:12 +0300</pubDate>
<description><![CDATA[<p>Кто ж в .h реализацию функций помещает? Ну а cat тогда не устроит?</p>]]></description>
</item>
<item>
<title>[C] Собрать кучу h-файлов в один большой</title>
<link>https://rulinux.net/message.php?newsid=42588&amp;page=1#216643</link>
<guid>https://rulinux.net/message.php?newsid=42588&amp;page=1#216643</guid>
<pubDate>Fri, 15 Jul 2016 15:22:42 +0300</pubDate>
<description><![CDATA[<p>Дано: куча мелких h-файлов, объявляющих и определяющих свои узкоспециализированные функции.<br><br>Хочу: на выходе получить один большой h-файл, включающий в себя все мелкие. Для примера см. sqlite3.c, который включает в себя 102 отдельных файла, т. н. <a href="http://www.sqlite.org/amalgamation.html">амальгамация</a>.<br><br>Как такого добиться?<br><br>Пока что у меня вот такая команда: gcc -E input.h -nostdinc -C &gt; input_full.h, но там все макросы исчезли и вообще каша на выходе. А хотелось бы получить более-менее читаемый файл.<br><br>ЗЫ input.h <fieldset><legend>C</legend><div class="highlight C"><br />
<span class="co2">#include &lt;stdio.h&gt;</span><br />
<span class="co2">#include &lt;time.h&gt;</span><br />
<br />
<span class="co2">#include &quot;some_file.h&quot;</span><br />
<span class="co2">#include &quot;some_cool_file.h&quot;</span><br />
<span class="co2">#include &quot;another_file.h&quot;</span><br />
<br />
<span class="kw4">int</span> cool_func <span class="br0">&#40;</span><span class="kw4">int</span> a<span class="sy0">,</span> <span class="kw4">char</span> <span class="sy0">*</span>msg<span class="sy0">,</span> <span class="kw4">void</span> <span class="sy0">*</span>ptr<span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>ptr <span class="sy0">==</span> NULL<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; random<span class="br0">&#40;</span>time<span class="br0">&#40;</span>NULL<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a><span class="br0">&#40;</span><span class="st0">&quot;%d: %s<span class="es1">\n</span>&quot;</span><span class="sy0">,</span> a<span class="sy0">,</span> msg<span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
&nbsp;</div></fieldset></p>]]></description>
</item>
</channel>
</rss>