日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

APUE第八章学习札记之自建简单解释器以及参数分析

發(fā)布時間:2024/4/13 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 APUE第八章学习札记之自建简单解释器以及参数分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

用過Unix/Linux的童鞋都不會對#!/bin/sh感到陌生。我們都知道sh是shell的解釋器的意思。但是對于解釋器這東西就感到很神秘。其實(shí)解釋器就是一個可執(zhí)行的文件而已,我們也能夠自己建造一個簡單的解釋器。

1)建立echoarg.c。

#include "apue.h"


int
main(int argc, char *argv[])
{
int i;


for (i = 0; i < argc; i++) /* echo all command-line args */
printf("argv[%d]: %s\n", i, argv[i]);
exit(0);
}

2)編譯echoarg.c為echoarg。

3)建立callEchoarg.e文件。

這個文件的第一行說明使用/home/Daniel/apue.2e/echoarg作為解釋器解釋本文件的代碼。

4)運(yùn)行出結(jié)果。

結(jié)果分析:由于對于解釋器echoarg來說,其作用就是返回所有的參數(shù)。

使用#!標(biāo)示的文件第一行,其實(shí)就是調(diào)用exce函數(shù)執(zhí)行可執(zhí)行文件echoarg和其參數(shù),然后就是exce的參數(shù)。由于在上圖中是直接運(yùn)行./callEchoarg.e,所以只有excel("./callEchoarg.e",null)(此處表達(dá)只用于理解,看官莫較真,如果有讀者知道確切的運(yùn)行方式請指正,不勝感激!)。

由于調(diào)用了可執(zhí)行文件/home/Daniel/apue.2e/echoarg,這相當(dāng)于直接執(zhí)行/home/Daniel/apue.2e/echoarg,所以/home/Daniel/apue.2e/echoarg是第一個參數(shù),而其后緊跟的foo是第二個參數(shù)。這時才輪到./callEchoarg.e文件作為參數(shù)(此處不甚理解,待補(bǔ)充)。

以上就是自建簡單解釋器的過程以及運(yùn)行時參數(shù)情況的說明。歡迎指正。

轉(zhuǎn)載于:https://my.oschina.net/DanielLee/blog/179675

超強(qiáng)干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生

總結(jié)

以上是生活随笔為你收集整理的APUE第八章学习札记之自建简单解释器以及参数分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。