perl-xs

    5熱度

    1回答

    我需要處理哈希值取決於值類型。這裏是有問題的代碼: I32 keys = hv_iterinit(hash); for (I32 i = 0; i < keys; i++) { char *key = NULL; I32 key_length = 0; SV *value = hv_iternextsv(hash, &key, &key_length);

    3熱度

    2回答

    讓我們假設有一段這樣的代碼: my $str = 'some text'; my $result = my_subroutine($str); 和my_subroutine()應該像Perl XS代碼來實現。例如,它可以返回(unicode)字符串的字節總和。 在XS碼,如何處理一個字符串的(a)炭由炭,作爲一般的方法,和(b)中逐字節,如果字符串是由ASCII碼的子集(一個內置-i

    1熱度

    2回答

    我的任務是編寫一個需要使用Perl XS的Perl模塊。我從來沒有使用Perl XS,但我已經看過這裏的文檔:http://perldoc.perl.org/perlxs.html,看起來我需要C源代碼來調用getpagesize系統。我試圖通過yum像這樣尋找getpagesize.c ... $ sudo yum provides */getpagesize.c ...但我似乎不具備,將提

    0熱度

    1回答

    我寫了一個Perl模塊來爲h2xs創建一個共享庫的綁定。簡單而容易。 但是,我現在想在這個模塊中包含一些Perl幫助程序。我如何去做這件事?我會假設它需要在「blah.pm」文件中進行 - 但該文件是生成的。 是否有一種(簡單)的方式來指定要包含在其中的代碼體?

    10熱度

    3回答

    我試圖編譯XS到perl的[ED(池上):這是說他的使用:: MakeMaker的的make perl創建具有靜態鏈接在C供應商庫perl]但是當我這樣做時,新版本的perl不支持動態加載模塊。任何時候,我嘗試運行具有類似use Socket(或任何其他模塊)Perl代碼,我得到: Can't load module Socket, dynamic loading not available in

    0熱度

    1回答

    我們正在調用一個子程序process_input與call_pv,這是從一個處理文本輸入大小爲1MB的進程代碼中調用的。該過程將執行以下操作: 它吃任何maileater客戶端郵件 在應用 創建一個新的票,來回復如果郵件大小爲> 1 MB 我最近發送了一個大約800 KB的文件,導致該進程不斷崩潰,直至2 GB並崩潰。這裏是電話: Call_pv("process_input",G_EVAL|G_

    4熱度

    2回答

    我應該如何在OpenBSD建立一個XS的Perl模塊時所需的.so文件丟失? 背景:在OpenBSD 5.3 vm安裝版中,我無法構建需要鏈接到-lpthread的perl模塊。 pthread.a和pthread.so.Maj.Min 做系統上存在。 但是Makefile.PL正在尋找pthread.so,這是不存在的。這對OpenBSD來說是普通的嗎? (我可以強制Makefile與pthre

    8熱度

    2回答

    如果我用一個散列寫一些XS代碼,我從來沒有想過會返回到perl,那麼我需要釋放它嗎?如果是這樣,怎麼樣? 我最近想到的是hv_undef,但這只是從我所瞭解的內容中清除散列的內容,而不是散列本身。 HV* hash = newHV(); ... use the hash ... hv_undef(hash);

    2熱度

    2回答

    我正在撰寫一篇關於XS的演講,並且我需要知道社區何時認爲適合於XS。

    1熱度

    2回答

    我不得不處理我公司的一個非常老的代碼庫,它通過perl暴露了C++ apis。 在代碼評論中,我建議有必要垃圾收集在C++中分配的內存。 這裏是代碼的骨架: char* convert_to_utf8(char *src, int length) { . . . length = get_utf8_length(src); char *dest =