国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

nginx – C-Sprache, VC-Compiler cl, wie man Variablen unterstützt, ohne sie am Anfang der Funktion deklarieren zu müssen
淡淡煙草味
淡淡煙草味 2017-05-16 17:26:29
0
3
1131

Windows, verwenden Sie den VC-Compiler cl.exe, um das Drittanbietermodul von Nginx zu kompilieren, und es wird eine Fehlermeldung ?hnlich diesem Code angezeigt:

static ngx_int_t
ngx_http_zip_main_request_header_filter(ngx_http_request_t *r)
{
    ngx_http_variable_value_t  *vv;
    ngx_http_zip_ctx_t         *ctx;

    if ((ctx = ngx_http_get_module_ctx(r, ngx_http_zip_module)) != NULL)
        return ngx_http_next_header_filter(r);

    if ((vv = ngx_palloc(r->pool, sizeof(ngx_http_variable_value_t))) == NULL) 
        return NGX_ERROR;

    /* Look for X-Archive-Files */
    ngx_int_t variable_header_status = NGX_OK;

Der Fehler ist ngx_int_t variable_header_status = NGX_OK;:

mod_zip/ngx_http_zip_module.c(195) : error C2275: 'ngx_int_t' : illegal use of t
his type as an expression

Nach der überprüfung liegt der Grund darin: Der C-Compiler verlangt, dass die Variablendeklaration am Kopf eines Funktionsblocks platziert wird, C++ hat eine solche Anforderung jedoch nicht. Platzieren Sie einfach die drei deklarierten Variablen am Anfang der Funktion.

Derselbe Code kann unter gcc kompiliert und übergeben werden.

Bitte sagen Sie mir, ob es in vc Kompilierungsoptionen gibt, die fortgeschritteneres C unterstützen k?nnen. Der vc-Compiler, den ich verwende, ist bereits derjenige, der mit vs2012 geliefert wird

淡淡煙草味
淡淡煙草味

Antworte allen(3)
為情所困

沒有辦法。
因?yàn)閂C哪怕到最新的2013也支持C89標(biāo)準(zhǔn),因?yàn)樗举|(zhì)上是個(gè)C++編譯器,而你需要的語法是在C99標(biāo)準(zhǔn)后才支持的,所以GCC能編譯通過。

解決辦法有二:
一,就是把代碼更改為符合C89標(biāo)準(zhǔn)。
二,使用mingw編譯

劉奇

編譯命令里添加

-c99

曾經(jīng)蠟筆沒有小新

Visual Studio 2012 不支持 C99,但是 Visual Studio 2013 支持。
參考:C99 維基百科

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage