无码人妻久久一区二区三区免费,日本在线视频精品,欧美色图在线观看,幻女bbwxxxx,郎骑竹马来txt下载,你是我的城池营垒txt下载,gl小说打包下载

產(chǎn)品展廳收藏該商鋪

您好 登錄 注冊(cè)

當(dāng)前位置:
泊頭利方機(jī)床制造有限公司>技術(shù)文章>如何讓yylex后的代碼運(yùn)行

技術(shù)文章

如何讓yylex后的代碼運(yùn)行

閱讀:191          發(fā)布時(shí)間:2021-12-27

下面是利用lex寫(xiě)的一段代碼,

%%

.* printf(hello\n)

quit exit(0)

%%

main()

{

yylex()

printf(bye\n)

}

在沒(méi)有*明白lex編譯以后的文件流程的情況下,如何在程序結(jié)束時(shí)讓yylex()后的printf()打印出結(jié)果呢?我們執(zhí)行編譯成的可執(zhí)行文件會(huì)發(fā)現(xiàn)倘若我們只是用ctrl+c或quit退出程序是直接在當(dāng)前位置退出程序,后面的printf根本不會(huì)執(zhí)行。解決這個(gè)小問(wèn)題,下面我用一種間接的方法實(shí)現(xiàn)了它:

%{

#Include

#Include

jmp_buf position

%}

%%

quit longjmp(position,1)

.* printf(hello\n)

%%

main()

{

extern int function()

if(setjmp(position)==1)

goto quit

signal(SIGINT, function)

yylex()

quit:

printf(bye\n)

exit(0)

}

function()

{

longjmp(position,1)

}

以上代碼在AIX下調(diào)試通過(guò)

收藏該商鋪

請(qǐng) 登錄 后再收藏

提示

您的留言已提交成功!我們將在第一時(shí)間回復(fù)您~

對(duì)比框

產(chǎn)品對(duì)比 二維碼 意見(jiàn)反饋

掃一掃訪問(wèn)手機(jī)商鋪
在線留言