Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #28022
| Newsgroups | comp.lang.python |
|---|---|
| Date | 2012-08-28 14:35 -0700 |
| Message-ID | <18eb8025-7545-4d10-9e76-2e41deaadb69@googlegroups.com> (permalink) |
| Subject | ctypes - python2.7.3 vs python3.2.3 |
| From | Rolf <rolfb@personalized-books.com> |
ctypes works as I would expect with python2.7.3.
However, when I upgrade to python3.2.3 things don't seem to work right. Look below for details.
I am not sure where I am going wrong.
Shared Library
==============
#include <stdint.h>
#include <string.h>
extern "C"
{
int main();
uint32_t myfunction (char **);
}
uint32_t myfunction (char ** _mydata)
{
char mydata[16];
strcpy(mydata, "Hello Dude!");
*_mydata = mydata;
return 0;
}
int main()
{
return 0;
}
Python 2.7.3 which works as I would expect
==========================================
> python2.7 -V
Python 2.7.3
> cat py27.py
#!/usr/bin/env python2.7
from __future__ import print_function
from __future__ import unicode_literals
from ctypes import *
lib = CDLL('libtest.so')
o_result = c_char_p()
lib.myfunction(pointer(o_result))
print(repr(o_result.value))
> ./py27.py
'Hello Dude!'
Python 3.2.3 return string gets mangled
=======================================
> python3 -V
Python 3.2.3
> cat py3.py
#!/usr/bin/env python3
from ctypes import *
lib = CDLL('libtest.so')
o_result = c_char_p()
lib.myfunction(pointer(o_result))
print(repr(o_result.value))
> ./py3.py
b'\xd8\xb0y\to Dude!'
Every time I run it, I get a different set of values.
Back to comp.lang.python | Previous | Next — Next in thread | Find similar | Unroll thread
ctypes - python2.7.3 vs python3.2.3 Rolf <rolfb@personalized-books.com> - 2012-08-28 14:35 -0700
Re: ctypes - python2.7.3 vs python3.2.3 John Gordon <gordon@panix.com> - 2012-08-28 21:51 +0000
Re: ctypes - python2.7.3 vs python3.2.3 Jan Kuiken <jan.kuiken@quicknet.nl> - 2012-08-29 23:25 +0200
Re: ctypes - python2.7.3 vs python3.2.3 John Gordon <gordon@panix.com> - 2012-09-07 19:04 +0000
Re: ctypes - python2.7.3 vs python3.2.3 MRAB <python@mrabarnett.plus.com> - 2012-08-28 22:59 +0100
csiph-web