<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: MySQL и СИ (подключение библиотеки)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9366.html</link>
    <description>Здравствуйте. Стоит система FreeBSD.&lt;br&gt;Сейчас разбираюсь с MySQL.&lt;br&gt;Пишу свой модуль для netgraph. Пытаюсь подключиться к БД.&lt;br&gt;Весь код программы приводить не буду, приведу только код ответственный за подключение к БД:&lt;br&gt;&lt;br&gt;MYSQL *pdb;&lt;br&gt;char *server =&quot;localhost&quot;;&lt;br&gt;char *user = &quot;user&quot;;&lt;br&gt;char *password = &quot;pass&quot;;&lt;br&gt;char *database =&quot;base&quot;;&lt;br&gt;...&lt;br&gt;pdb = mysql_init(NULL);&lt;br&gt;if (!mysql_real_connect (pdb,server,user,password,database,0,NULL,0))&lt;br&gt;&#123;printf(&quot;ERROR&quot;);&lt;br&gt;&#125;&lt;br&gt;...&lt;br&gt;&lt;br&gt;Компиляция проходит без проблем.&lt;br&gt;make -C /usr/src/sys/modules/netgraph/&lt;br&gt;&lt;br&gt;===&amp;gt; ip(all)&lt;br&gt;Warning: Object directory not changed from original /usr/src/sys/modules/netgraph/ip&lt;br&gt;&#064; -&amp;gt; /usr/src/sys&lt;br&gt;machine -&amp;gt; /usr/src/sys/i386/include&lt;br&gt;:&amp;gt; opt_netgraph.h&lt;br&gt;cc -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc   -I. -I&#064; -I&#064;/contrib/altq -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common  -mno-align-long-strings -mpreferred-stack-boundary=2  -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffr</description>

<item>
    <title>MySQL и СИ (подключение библиотеки) (PavelR)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9366.html#6</link>
    <pubDate>Sat, 28 Jan 2012 20:27:17 GMT</pubDate>
    <description>&amp;gt; 3. Есть ли почитать что-нибудь на эту тему?&lt;br&gt;&lt;br&gt;Исходники ng_ipacct / netams.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>MySQL и СИ (подключение библиотеки) (cryo)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9366.html#5</link>
    <pubDate>Sat, 28 Jan 2012 14:56:20 GMT</pubDate>
    <description>&amp;gt; Спасибо за ответ.&lt;br&gt;&amp;gt; Жаль, что не получится.&lt;br&gt;&amp;gt; Насчет вариантов: &lt;br&gt;&amp;gt; 1 и 2 не подходит :) &lt;br&gt;&amp;gt; 3. Есть ли почитать что-нибудь на эту тему?&lt;br&gt;&amp;gt; 4. Для статической линковки нужно добавить параметр -static?&lt;br&gt;&lt;br&gt;Вариант 3 IMHO - самый кошерный.&lt;br&gt;&lt;br&gt;Организовать коммуникацию модуля ядра с демоном, пишущим в базу можно разными способами, самые простые:&lt;br&gt;- через собственный syscall, который будет регистрировать ваш ядреный модуль&lt;br&gt;- через unix-сокет&lt;br&gt;- через tcp/udp-сокет (тогда можно и на другую машину данные лить :)&lt;br&gt;&lt;br&gt;Протокол общения можете придумать любой собственный, какой вам подходит для задачи, вплоть до передачи простых заполненной данными C-структуры.&lt;br&gt;</description>
</item>

<item>
    <title>MySQL и СИ (подключение библиотеки) (Andery)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9366.html#4</link>
    <pubDate>Sat, 28 Jan 2012 12:04:07 GMT</pubDate>
    <description>&amp;gt; Либу надо подключать при линковке, а не при компиляции &lt;br&gt;&lt;br&gt;Спасибо за ответ.&lt;br&gt;Я так понял, что вместо&lt;br&gt;ld  -d -warn-common  -r -d -o ng_ip.kld ng_ip.o slcompress.o&lt;br&gt;нужно делать так&lt;br&gt;ld  -d -warn-common  -r -d -o ng_ip.kld ng_ip.o slcompress.o -L/usr/local/lib/mysql -lmysqlclient &lt;br&gt;После этого, при попытки загрузки модуля пишется ошибка:&lt;br&gt;link_elf: symbol atoi undefined.&lt;br&gt;</description>
</item>

<item>
    <title>MySQL и СИ (подключение библиотеки) (Andery)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9366.html#3</link>
    <pubDate>Sat, 28 Jan 2012 12:01:16 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; Увы и ой, нифига не получится у вас: модуль работает в ядре, &lt;br&gt;&amp;gt; а библиотеки - на пользовательском уровне.&lt;br&gt;&amp;gt; Вариантов у вас три: &lt;br&gt;&amp;gt; 1) Забить :-) (да, не вариант :-) &lt;br&gt;&amp;gt; 2) Написать ядерную реализацию модуля libmysql &lt;br&gt;&amp;gt; 3) Реализовать правильно: даймон в юзерспейсе и коммуникация с модулем ядра, получение &lt;br&gt;&amp;gt; инфы и складирование в БД &lt;br&gt;&amp;gt; 4) Возможно пройдет вариант со статической линковкой к модулю библиотеки libmysqlclient &lt;br&gt;&amp;gt; но думаю что много еще открытий ждет вас на этом нелегком &lt;br&gt;&amp;gt; пути.&lt;br&gt;&lt;br&gt;Спасибо за ответ.&lt;br&gt;Жаль, что не получится.&lt;br&gt;Насчет вариантов:&lt;br&gt;1 и 2 не подходит :)&lt;br&gt;3. Есть ли почитать что-нибудь на эту тему?&lt;br&gt;4. Для статической линковки нужно добавить параметр -static?&lt;br&gt;</description>
</item>

<item>
    <title>MySQL и СИ (подключение библиотеки) (PavelR)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9366.html#2</link>
    <pubDate>Sat, 28 Jan 2012 09:50:22 GMT</pubDate>
    <description>&amp;gt; Здравствуйте. Стоит система FreeBSD.&lt;br&gt;&amp;gt; Сейчас разбираюсь с MySQL.&lt;br&gt;&amp;gt; Пишу свой модуль для netgraph. Пытаюсь подключиться к БД.&lt;br&gt;&lt;br&gt;Ниже суровое IMHO, я не разработчик:&lt;br&gt;&lt;br&gt;Увы и ой, нифига не получится у вас: модуль работает в ядре, а библиотеки - на пользовательском уровне.&lt;br&gt;&lt;br&gt;Вариантов у вас три:&lt;br&gt;&lt;br&gt;1) Забить :-) (да, не вариант :-)&lt;br&gt;2) Написать ядерную реализацию модуля libmysql &lt;br&gt;3) Реализовать правильно: даймон в юзерспейсе и коммуникация с модулем ядра, получение инфы и складирование в БД&lt;br&gt;&lt;br&gt;4) Возможно пройдет вариант со статической линковкой к модулю библиотеки libmysqlclient но думаю что много еще открытий ждет вас на этом нелегком пути.&lt;br&gt;</description>
</item>

<item>
    <title>MySQL и СИ (подключение библиотеки) (arka)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9366.html#1</link>
    <pubDate>Sat, 28 Jan 2012 06:36:06 GMT</pubDate>
    <description>Либу надо подключать при линковке, а не при компиляции&lt;br&gt;</description>
</item>

</channel>
</rss>
