<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.lptms.universite-paris-saclay.fr//wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ullmo</id>
	<title>LPTMS Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://www.lptms.universite-paris-saclay.fr//wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ullmo"/>
	<link rel="alternate" type="text/html" href="http://www.lptms.universite-paris-saclay.fr//wiki/index.php/Special:Contributions/Ullmo"/>
	<updated>2026-06-19T20:55:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://www.lptms.universite-paris-saclay.fr//wiki/index.php?title=Interfacing_C%2B%2B_and_Python&amp;diff=244</id>
		<title>Interfacing C++ and Python</title>
		<link rel="alternate" type="text/html" href="http://www.lptms.universite-paris-saclay.fr//wiki/index.php?title=Interfacing_C%2B%2B_and_Python&amp;diff=244"/>
		<updated>2011-10-14T09:40:06Z</updated>

		<summary type="html">&lt;p&gt;Ullmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== References ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.boost.org/doc/libs/release/libs/python/doc interfacing C++ and Python] via Boost&lt;br /&gt;
* [http://www.boostpro.com/writing/bpl.html#introduction Introduction to Boost.Python]&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
* command line under linux&lt;br /&gt;
 :&amp;gt; g++ -shared myfile.cpp -I/usr/include/python2.6 -lboost_python -o myfile.so -fPIC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This compiles the basic example below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
//         myfile.h    &lt;br /&gt;
struct World&lt;br /&gt;
{&lt;br /&gt;
  void set(std::string msgin) {this-&amp;gt;msg=msgin ;}&lt;br /&gt;
  std::string greet() {return msg ;}&lt;br /&gt;
  std::string msg;&lt;br /&gt;
} ;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
//         myfile.cpp   #include &amp;lt;boost/python.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;myfile.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
using namespace boost::python;&lt;br /&gt;
&lt;br /&gt;
BOOST_PYTHON_MODULE(hello)&lt;br /&gt;
{&lt;br /&gt;
  def(&amp;quot;greet&amp;quot;, greet, &amp;quot;return one of three parts of a greeting&amp;quot;);&lt;br /&gt;
  class_&amp;lt;World&amp;gt;(&amp;quot;World&amp;quot;)&lt;br /&gt;
    .def(&amp;quot;greet&amp;quot;,&amp;amp;World::greet)&lt;br /&gt;
    .def(&amp;quot;set&amp;quot;,&amp;amp;World::set)&lt;br /&gt;
    ; &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which runs under python as&lt;br /&gt;
&amp;lt;source lang=&amp;quot;py&amp;quot;&amp;gt;&lt;br /&gt;
In [1]: import hello&lt;br /&gt;
In [2]: planet = hello.World()&lt;br /&gt;
In [3]: planet.set(&#039;howdy&#039;)&lt;br /&gt;
In [4]: planet.greet()&lt;br /&gt;
Out[4]: &#039;howdy&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ullmo</name></author>
	</entry>
	<entry>
		<id>http://www.lptms.universite-paris-saclay.fr//wiki/index.php?title=Interfacing_C%2B%2B_and_Python&amp;diff=243</id>
		<title>Interfacing C++ and Python</title>
		<link rel="alternate" type="text/html" href="http://www.lptms.universite-paris-saclay.fr//wiki/index.php?title=Interfacing_C%2B%2B_and_Python&amp;diff=243"/>
		<updated>2011-10-14T09:36:42Z</updated>

		<summary type="html">&lt;p&gt;Ullmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== References ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.boost.org/doc/libs/release/libs/python/doc interfacing C++ and Python] via Boost&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
* command line under linux&lt;br /&gt;
 :&amp;gt; g++ -shared myfile.cpp -I/usr/include/python2.6 -lboost_python -o myfile.so -fPIC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This compiles the basic example below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
//         myfile.h    &lt;br /&gt;
struct World&lt;br /&gt;
{&lt;br /&gt;
  void set(std::string msgin) {this-&amp;gt;msg=msgin ;}&lt;br /&gt;
  std::string greet() {return msg ;}&lt;br /&gt;
  std::string msg;&lt;br /&gt;
} ;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
//         myfile.cpp   #include &amp;lt;boost/python.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;myfile.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
using namespace boost::python;&lt;br /&gt;
&lt;br /&gt;
BOOST_PYTHON_MODULE(hello)&lt;br /&gt;
{&lt;br /&gt;
  def(&amp;quot;greet&amp;quot;, greet, &amp;quot;return one of three parts of a greeting&amp;quot;);&lt;br /&gt;
  class_&amp;lt;World&amp;gt;(&amp;quot;World&amp;quot;)&lt;br /&gt;
    .def(&amp;quot;greet&amp;quot;,&amp;amp;World::greet)&lt;br /&gt;
    .def(&amp;quot;set&amp;quot;,&amp;amp;World::set)&lt;br /&gt;
    ; &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which runs as&lt;br /&gt;
&amp;lt;source lang=&amp;quot;py&amp;quot;&amp;gt;&lt;br /&gt;
In [1]: import hello&lt;br /&gt;
In [2]: planet = hello.World()&lt;br /&gt;
In [3]: planet.set(&#039;howdy&#039;)&lt;br /&gt;
In [4]: planet.greet()&lt;br /&gt;
Out[4]: &#039;howdy&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ullmo</name></author>
	</entry>
</feed>