私はmod_perl-Apache-Perlとの互換性に関する何らかの調査をしています。最近、Perl 5.14.2を使ってmod_perl 2.0.4をビルドしようとしました。Perl 5.14でGvGCの(0 + GvGP(gv) - > gp_cv)定義を使用するのはなぜですか?
modperl_perl.c: In function ‘modperl_perl_core_global_init’:
modperl_perl.c:58:9: error: lvalue required as left operand of assignment
この場所で、次のコードが書かれている:コンパイル・フェーズがエラーで途中で終了した、このエラーが発生することが何を検索
GvCV(gv) = get_cv(cglobals->sub_name, TRUE);
、私は、以前のバージョンの違いを発見しましたPerlとのPerl 5.14(CORE/gv.h):
#define GvCV(gv) (GvGP(gv)->gp_cv) /* previous versions */
VS
定義から、この0+
取り外しは
mod_perlの2.0.4が正常にコンパイルされることを可能にし、0+...
は以前のバージョンに比べ左辺として認識されないので、これは問題です。
GVCVの定義に0+
が使用されているのはなぜですか?それを削除して、以前のバージョンのPerlのようにGvCV(gv)
の定義を持つことは安全ですか?
+1よく研究質問を。 – pilcrow