{"id":27114,"date":"2024-03-16T07:53:18","date_gmt":"2024-03-16T07:53:18","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/"},"modified":"2024-03-22T10:14:26","modified_gmt":"2024-03-22T10:14:26","slug":"how-to-call-a-c-dynamic-library-in-python","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/","title":{"rendered":"How to call a C++ dynamic library in Python?"},"content":{"rendered":"<p>Python can use the ctypes module to call a C++ dynamic library. Here is a simple example:<\/p>\n<p>Firstly, suppose you have a dynamic library file in C++, such as mylib.so.<\/p>\n<p>Then, you can use the ctypes module to load dynamic libraries and call their functions.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">import<\/span> ctypes\r\n\r\n<span class=\"hljs-comment\"># \u52a0\u8f7d\u52a8\u6001\u5e93<\/span>\r\nmylib = ctypes.CDLL(<span class=\"hljs-string\">'.\/mylib.so'<\/span>)\r\n\r\n<span class=\"hljs-comment\"># \u8c03\u7528\u52a8\u6001\u5e93\u4e2d\u7684\u51fd\u6570<\/span>\r\nresult = mylib.my_function(arg1, arg2)\r\n<\/code><\/pre>\n<p>In the above code, the ctypes.CDLL function is used to load dynamic library files. You need to pass the path of the dynamic library file to this function.<\/p>\n<p>After that, you can call functions in the dynamic library through the mylib object. In this example, we called a function named my_function and passed arg1 and arg2 as parameters.<\/p>\n<p>Please be aware that you may need to modify the paths of the dynamic library files, function names, and parameters based on the actual situation. Additionally, you may also need to specify the return value type and parameter types of the functions. You can refer to the relevant content in the ctypes documentation to learn how to accurately specify this information.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Python can use the ctypes module to call a C++ dynamic library. Here is a simple example: Firstly, suppose you have a dynamic library file in C++, such as mylib.so. Then, you can use the ctypes module to load dynamic libraries and call their functions. import ctypes # \u52a0\u8f7d\u52a8\u6001\u5e93 mylib = ctypes.CDLL(&#8216;.\/mylib.so&#8217;) # \u8c03\u7528\u52a8\u6001\u5e93\u4e2d\u7684\u51fd\u6570 result [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-27114","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to call a C++ dynamic library in Python? - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to call a C++ dynamic library in Python?\" \/>\n<meta property=\"og:description\" content=\"Python can use the ctypes module to call a C++ dynamic library. Here is a simple example: Firstly, suppose you have a dynamic library file in C++, such as mylib.so. Then, you can use the ctypes module to load dynamic libraries and call their functions. import ctypes # \u52a0\u8f7d\u52a8\u6001\u5e93 mylib = ctypes.CDLL(&#039;.\/mylib.so&#039;) # \u8c03\u7528\u52a8\u6001\u5e93\u4e2d\u7684\u51fd\u6570 result [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-16T07:53:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-22T10:14:26+00:00\" \/>\n<meta name=\"author\" content=\"Sophia Anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sophia Anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/\"},\"author\":{\"name\":\"Sophia Anderson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30\"},\"headline\":\"How to call a C++ dynamic library in Python?\",\"datePublished\":\"2024-03-16T07:53:18+00:00\",\"dateModified\":\"2024-03-22T10:14:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/\"},\"wordCount\":176,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/\",\"name\":\"How to call a C++ dynamic library in Python? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-16T07:53:18+00:00\",\"dateModified\":\"2024-03-22T10:14:26+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to call a C++ dynamic library in Python?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30\",\"name\":\"Sophia Anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g\",\"caption\":\"Sophia Anderson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/sophiaanderson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to call a C++ dynamic library in Python? - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/","og_locale":"en_US","og_type":"article","og_title":"How to call a C++ dynamic library in Python?","og_description":"Python can use the ctypes module to call a C++ dynamic library. Here is a simple example: Firstly, suppose you have a dynamic library file in C++, such as mylib.so. Then, you can use the ctypes module to load dynamic libraries and call their functions. import ctypes # \u52a0\u8f7d\u52a8\u6001\u5e93 mylib = ctypes.CDLL('.\/mylib.so') # \u8c03\u7528\u52a8\u6001\u5e93\u4e2d\u7684\u51fd\u6570 result [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-16T07:53:18+00:00","article_modified_time":"2024-03-22T10:14:26+00:00","author":"Sophia Anderson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Sophia Anderson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/"},"author":{"name":"Sophia Anderson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30"},"headline":"How to call a C++ dynamic library in Python?","datePublished":"2024-03-16T07:53:18+00:00","dateModified":"2024-03-22T10:14:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/"},"wordCount":176,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/","name":"How to call a C++ dynamic library in Python? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-16T07:53:18+00:00","dateModified":"2024-03-22T10:14:26+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-call-a-c-dynamic-library-in-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to call a C++ dynamic library in Python?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30","name":"Sophia Anderson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g","caption":"Sophia Anderson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/sophiaanderson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/27114","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=27114"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/27114\/revisions"}],"predecessor-version":[{"id":61325,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/27114\/revisions\/61325"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=27114"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=27114"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=27114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}