{"id":1120,"date":"2017-05-04T13:44:15","date_gmt":"2017-05-04T12:44:15","guid":{"rendered":"http:\/\/blog.briang.org\/?p=1120"},"modified":"2018-05-01T16:00:33","modified_gmt":"2018-05-01T15:00:33","slug":"getting-started-with-xs","status":"publish","type":"post","link":"https:\/\/blog.briang.org\/?p=1120","title":{"rendered":"Getting started with XS"},"content":{"rendered":"<p>Part 1: <a href=\"http:\/\/perltricks.com\/article\/getting-started-with-xs\/\"><strong>Getting started with XS<\/strong><\/a><br \/>\nPart 2: <a href=\"https:\/\/www.perl.com\/article\/writing-your-own-xs-functions\/\"><strong>Writing your own XS functions<\/strong><\/a><br \/>\nPart 3: <a href=\"https:\/\/www.perl.com\/article\/xs-utility-routines-that-are-good-to-know\/\"><strong>XS utility routines that are good to know<\/strong><\/a><\/p>\n<blockquote><p>eXtendable Subroutines (XS) are subroutines written in C that are callable from Perl code. There are two common reasons you\u2019d want to use XS: there is a C library you\u2019d like to use with Perl, or you want to make a subroutine faster by processing it in C instead of Perl.<\/p>\n<p>This tutorial will walk you through all the components needed to get up and running with a basic XS example.<\/p><\/blockquote>\n<p>Also see \/r\/perl discussion of <a href=\"https:\/\/www.reddit.com\/r\/perl\/comments\/697hwv\/getting_started_with_xs\/\">part 1<\/a>, <a href=\"https:\/\/www.reddit.com\/r\/perl\/comments\/7pwwu4\/writing_your_own_xs_functions\/\">part 2<\/a> and <a href=\"https:\/\/www.reddit.com\/r\/perl\/comments\/8g4quu\/xs_utility_routines_that_are_good_to_know\/\">part 3<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Part 1: Getting started with XS Part 2: Writing your own XS functions Part 3: XS utility routines that are good to know eXtendable Subroutines (XS) are subroutines written in C that are callable from Perl code. There are two common reasons you\u2019d want to use XS: there is a C library you\u2019d like to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[301,241,415,342,5,411,252,242],"class_list":["post-1120","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-authordavid-farrell","tag-c","tag-cpanxs-tutorial","tag-meta","tag-perl","tag-r-perl","tag-reddit","tag-xs"],"_links":{"self":[{"href":"https:\/\/blog.briang.org\/index.php?rest_route=\/wp\/v2\/posts\/1120","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.briang.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.briang.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.briang.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.briang.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1120"}],"version-history":[{"count":6,"href":"https:\/\/blog.briang.org\/index.php?rest_route=\/wp\/v2\/posts\/1120\/revisions"}],"predecessor-version":[{"id":1373,"href":"https:\/\/blog.briang.org\/index.php?rest_route=\/wp\/v2\/posts\/1120\/revisions\/1373"}],"wp:attachment":[{"href":"https:\/\/blog.briang.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1120"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.briang.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1120"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.briang.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}