<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>mikeash.com pyblog/friday-qa-2014-01-24-introduction-to-libclang.html comments</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2014-01-24-introduction-to-libclang.html#comments</link><description>mikeash.com Recent Comments</description><lastBuildDate>Sat, 06 Jun 2026 19:24:19 GMT</lastBuildDate><generator>PyRSS2Gen-1.0.0</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>SevenBits - 2014-06-17 01:47:35</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2014-01-24-introduction-to-libclang.html#comments</link><description>Do you know how one could use this to actually build an executable? I.e can you take the compilation unit and have it spit out an executable file?</description><guid isPermaLink="true">b7b55f464035d3dd90350fe7fa894985</guid><pubDate>Tue, 17 Jun 2014 01:47:35 GMT</pubDate></item><item><title>mikeash - 2014-05-10 03:55:10</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2014-01-24-introduction-to-libclang.html#comments</link><description>&lt;b&gt;AlexDenisov:&lt;/b&gt; I haven't built anything useful with it yet. Maybe someday....
&lt;br /&gt;
&lt;br /&gt;&lt;b&gt;PhilStokes:&lt;/b&gt; That comment refers to the dylib that ships inside Xcode. You can't really know what version of clang it was built from, you probably can't legally redistribute it, and there's no guarantee of ABI compatibility across version changes.</description><guid isPermaLink="true">321cafc21f322ced65ee53bcdeaddc8e</guid><pubDate>Sat, 10 May 2014 03:55:10 GMT</pubDate></item><item><title>PhilStokes - 2014-05-09 03:25:18</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2014-01-24-introduction-to-libclang.html#comments</link><description>This looks useful, but one question. Why do you say at the beginning of the article "you wouldn't want to use this in a shipping app"?
&lt;br /&gt;
&lt;br /&gt;Thx!</description><guid isPermaLink="true">0e793d91d72778c07046ef6d9eeff460</guid><pubDate>Fri, 09 May 2014 03:25:18 GMT</pubDate></item><item><title>AlexDenisov - 2014-03-03 18:17:14</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2014-01-24-introduction-to-libclang.html#comments</link><description>Hi, Mike!
&lt;br /&gt;Thank you for this tutorial.
&lt;br /&gt;
&lt;br /&gt;I've faced a lot of issues, e.g. too much time to parse one translation unit, due to parsing all the headers (Foundation, UIKit, so on). This issue might be solved by passing .pch files, but it makes it more difficult to the end-user usage (finally I've decided to make full-functional clang plugin).
&lt;br /&gt;
&lt;br /&gt;So question is: have you tried to make something really useful with `libclang`? If so, then could share your experience too?</description><guid isPermaLink="true">c7d1f44d13e5835fcb8dfa6eb02b4e26</guid><pubDate>Mon, 03 Mar 2014 18:17:14 GMT</pubDate></item><item><title>Josh - 2014-02-17 11:13:54</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2014-01-24-introduction-to-libclang.html#comments</link><description>Excellent article. Is it possible to link libclang to an iOS project using the static library? Trying so now but wondered if you may have tried already. </description><guid isPermaLink="true">41b0af6ed12c371a69d4bef278fb904d</guid><pubDate>Mon, 17 Feb 2014 11:13:54 GMT</pubDate></item><item><title>mikeash - 2014-01-26 01:57:12</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2014-01-24-introduction-to-libclang.html#comments</link><description>Thanks! I read through the CXString docs but managed to miss that mention. I've updated the code in the article with the appropriate calls.</description><guid isPermaLink="true">0b8c7afdd9a00143ffbca72fd72bcbee</guid><pubDate>Sun, 26 Jan 2014 01:57:12 GMT</pubDate></item><item><title>Dave - 2014-01-25 23:46:48</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2014-01-24-introduction-to-libclang.html#comments</link><description>From the CXString.h file (&lt;a href="http://clang.llvm.org/doxygen/CXString_8h_source.html"&gt;http://clang.llvm.org/doxygen/CXString_8h_source.html&lt;/a&gt;):
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogcommentquote"&gt;&lt;div class="blogcommentquoteinner"&gt;The &lt;code&gt;CXString&lt;/code&gt; type is used to return strings from the interface when the ownership of that string might different from one call to the next. Use &lt;code&gt;clang_getCString()&lt;/code&gt; to retrieve the string data and, once finished with the string data, call &lt;code&gt;clang_disposeString()&lt;/code&gt; to free the string.&lt;/div&gt;&lt;/div&gt;</description><guid isPermaLink="true">28587b9d174eed6d405b63c6f7240358</guid><pubDate>Sat, 25 Jan 2014 23:46:48 GMT</pubDate></item><item><title>mikeash - 2014-01-25 20:51:11</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2014-01-24-introduction-to-libclang.html#comments</link><description>Do you have a pointer to documentation on that? I can't find any, and was working under the assumption that "get" functions would return a non-owned object, like in CoreFoundation. That assumption could certainly be wrong, of course.</description><guid isPermaLink="true">89e5d32ad930c620c3be83116fc3ef07</guid><pubDate>Sat, 25 Jan 2014 20:51:11 GMT</pubDate></item><item><title>Ali Rantakari - 2014-01-25 17:30:45</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2014-01-24-introduction-to-libclang.html#comments</link><description>Nice post, as always!
&lt;br /&gt;
&lt;br /&gt;I would just like to point out the &lt;code&gt;clang_disposeString(CXString)&lt;/code&gt; function that should be called when &lt;code&gt;CXString&lt;/code&gt; instances returned from the API are not needed anymore.</description><guid isPermaLink="true">dd9b088918d69d19a01a92400bcd6921</guid><pubDate>Sat, 25 Jan 2014 17:30:45 GMT</pubDate></item></channel></rss>
