Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Application Programming › Load a C++ DLL in python, functions using extern "C"
New Posts  All Forums:Forum Nav:

Load a C++ DLL in python, functions using extern "C"

post #1 of 2
Thread Starter 
Ok so, I began programming my own game using the Blender Game engine which is written in python but allows you to design the 3d images, apply them to the game and write the script all in one program, but it is all in python. Which is unfortunate for me because all of my experience is in C++, but I can make DLLs no problem that allow me to simply call the functions that i wrote in C++ in the python script, But i wanted to see if there was a way to call extern "C" functions using python, and how exactly to get the procedure address in python, it is prefered that all of this be done with the basic script and not a system-dependant library (I want the game to be multiple platforms)
Yin
(13 items)
 
Yang
(14 items)
 
 
CPUMotherboardGraphicsRAM
Intel Core i7-2600K Sandy Bridge ASUS P8Z68-V PRO PowerColor AX6950 2GBD5-2DH G.SKILL Ripjaws X Series 8GB (2 x 4GB) 
Hard DriveCoolingOSMonitor
Crucial M4 CT128M4SSD2 2.5" SSD Hyper 212 EVO Windows 7 x64 Acer V243HAJbd Black 24" 2ms(GTG) Widescreen 
KeyboardPowerCaseMouse
Microsoft SideWinder X6 Black Keyboard Win USB ... SeaSonic X Series X650 Gold XCLIO Color I Black Steel / Plastic ATX Mid Tow... Microsoft Wireless Mobile Mouse 4000 
Mouse Pad
Black Tightened Leather Circle 
CPUMotherboardGraphicsRAM
Intel Core i7-3960X Extreme Edition Sandy Bridg... ASUS Maximus IV Extreme-Z LGA 1155 Intel Z68 Asus Mars II GeForce GTX 580 x2 (Fermi) 3GB Patriot Gamer 2 Series 16GB (2 x 8GB) 
Hard DriveOptical DriveCoolingOS
OCZ RevoDrive 3 X2 series RVD3X2-FHPX4 SSD HP DVD-ROM Drive Model 481045-B21 Hyper 212 Evo x4 Windows 7 
MonitorKeyboardPowerCase
NEC Display Solutions LCD2190UXp-BK Black 21.3" x2 RAZER Black USB Wired BlackWidow Ultimate Mecha... CISCO PWR-C45-1300ACV Catalyst 4500 Series 1300... Sentey Black Box Series BX2-4292 v2.1 / 4xUSB /... 
MouseAudio
Logitech G700 Black 13 Buttons Tilt Wheel USB R... BOSE Companion 2 Series 
  hide details  
Reply
Yin
(13 items)
 
Yang
(14 items)
 
 
CPUMotherboardGraphicsRAM
Intel Core i7-2600K Sandy Bridge ASUS P8Z68-V PRO PowerColor AX6950 2GBD5-2DH G.SKILL Ripjaws X Series 8GB (2 x 4GB) 
Hard DriveCoolingOSMonitor
Crucial M4 CT128M4SSD2 2.5" SSD Hyper 212 EVO Windows 7 x64 Acer V243HAJbd Black 24" 2ms(GTG) Widescreen 
KeyboardPowerCaseMouse
Microsoft SideWinder X6 Black Keyboard Win USB ... SeaSonic X Series X650 Gold XCLIO Color I Black Steel / Plastic ATX Mid Tow... Microsoft Wireless Mobile Mouse 4000 
Mouse Pad
Black Tightened Leather Circle 
CPUMotherboardGraphicsRAM
Intel Core i7-3960X Extreme Edition Sandy Bridg... ASUS Maximus IV Extreme-Z LGA 1155 Intel Z68 Asus Mars II GeForce GTX 580 x2 (Fermi) 3GB Patriot Gamer 2 Series 16GB (2 x 8GB) 
Hard DriveOptical DriveCoolingOS
OCZ RevoDrive 3 X2 series RVD3X2-FHPX4 SSD HP DVD-ROM Drive Model 481045-B21 Hyper 212 Evo x4 Windows 7 
MonitorKeyboardPowerCase
NEC Display Solutions LCD2190UXp-BK Black 21.3" x2 RAZER Black USB Wired BlackWidow Ultimate Mecha... CISCO PWR-C45-1300ACV Catalyst 4500 Series 1300... Sentey Black Box Series BX2-4292 v2.1 / 4xUSB /... 
MouseAudio
Logitech G700 Black 13 Buttons Tilt Wheel USB R... BOSE Companion 2 Series 
  hide details  
Reply
post #2 of 2
You can call functions from DLLs using Python's ctypes module.
http://docs.python.org/library/ctypes.html

Also, check out swig: http://www.swig.org/
My System
(30 items)
 
"Zeus"
(13 items)
 
 
CPUMotherboardGraphicsRAM
Intel Core i5 2500K (4.5ghz @ 1.320v) Gigabyte Z68X-UD3R-B3 MSI R7970 Lightning Corsair 16GB (4x4GB) 
Hard DriveHard DriveHard DriveHard Drive
Plextor PX-256M5S 256GB Crucial M4 128GB Hitachi HDS721010CLA332 Hitachi HDS723020BLA642 
Hard DriveHard DriveHard DriveOptical Drive
Hitachi HDS723020BLA642 Hitachi HUA722010CLA330 WDC WD10EARS-00Z5B1 TSSTcorp CDDVDW SH-S223B 
CoolingCoolingOSMonitor
Phanteks PH-TC14PE with TY-140's Lamptron FCv5 (x2) Windows 7 Ultimate 64-bit Dell U2412M 
MonitorMonitorMonitorKeyboard
Dell U2412M Dell U2212HM Dell U2212HM Ducky DK9087 G2 Pro 
PowerCaseMouseMouse Pad
Corsair AX-750 Corsair Obsidian 650D Microsoft IntelliMouse Optical  XTRAC Ripper XXL 
AudioAudioAudioAudio
Westone W3 IEMs RE-272 IEMs Shure SE-215 IEMs Schiit Bifrost DAC 
AudioAudio
Schiit Asgard 2 amp HiVi Swan M50W 2.1 
CPUMotherboardGraphicsRAM
Intel Core i7 950 GA-X58-UD3R Radeon HD 5450  24GB Corsair @ 1333mhz 
Hard DriveOSPowerCase
4x WD Cavair Red 1TB in RAID 0 Windows Server 2008 R2 x64 Corsair HX-520 LianLi LanCool 
  hide details  
Reply
My System
(30 items)
 
"Zeus"
(13 items)
 
 
CPUMotherboardGraphicsRAM
Intel Core i5 2500K (4.5ghz @ 1.320v) Gigabyte Z68X-UD3R-B3 MSI R7970 Lightning Corsair 16GB (4x4GB) 
Hard DriveHard DriveHard DriveHard Drive
Plextor PX-256M5S 256GB Crucial M4 128GB Hitachi HDS721010CLA332 Hitachi HDS723020BLA642 
Hard DriveHard DriveHard DriveOptical Drive
Hitachi HDS723020BLA642 Hitachi HUA722010CLA330 WDC WD10EARS-00Z5B1 TSSTcorp CDDVDW SH-S223B 
CoolingCoolingOSMonitor
Phanteks PH-TC14PE with TY-140's Lamptron FCv5 (x2) Windows 7 Ultimate 64-bit Dell U2412M 
MonitorMonitorMonitorKeyboard
Dell U2412M Dell U2212HM Dell U2212HM Ducky DK9087 G2 Pro 
PowerCaseMouseMouse Pad
Corsair AX-750 Corsair Obsidian 650D Microsoft IntelliMouse Optical  XTRAC Ripper XXL 
AudioAudioAudioAudio
Westone W3 IEMs RE-272 IEMs Shure SE-215 IEMs Schiit Bifrost DAC 
AudioAudio
Schiit Asgard 2 amp HiVi Swan M50W 2.1 
CPUMotherboardGraphicsRAM
Intel Core i7 950 GA-X58-UD3R Radeon HD 5450  24GB Corsair @ 1333mhz 
Hard DriveOSPowerCase
4x WD Cavair Red 1TB in RAID 0 Windows Server 2008 R2 x64 Corsair HX-520 LianLi LanCool 
  hide details  
Reply
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Application Programming
Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Application Programming › Load a C++ DLL in python, functions using extern "C"