亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? oxcc.txt

?? OXCC is a multipass, interpreting C compiler with several language extensions. It generates an Archi
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
OXCC.TXT Version: 1.433 -- preliminary 5 Nov 1995 by Norman D. Culver

    OXCC is a multipass interpreting C compiler with numerous language
    extensions (see c.grm).

    OXCC generates output in an Architecture Neutral Format (ANF).
	Sample backends are provided to guide the programmer in dealing with
	ANF and in writing additional backends for a specific purpose.

	The builtin interpreter provides for a great deal of flexibility
	but it does make the compiler a memory hog. The entire file under
	compilation is stored in memory as an Abstract Syntax Tree (AST).
	The AST can be printed to stdout with the -a option.

	Language extensions have been inspired by GCC, MSC, and Watcom C.
	OXCC is designed to produce 16 bit, 32 bit, 64 bit, segmented and 
	flat model code for any target architecture and operating system.

	OXCC can regenerate C source code after interpreting some or all of 
	its' input. Source regeneration properly handles `malloced' data
	containing pointers. The regenerated source code can be `shrouded'.
	Regenerated source files have the suffix .cr .

	The builtin interpreter can be run in fast or slow mode. Slow mode
	maintains elaborate pointer and initialization information which
	often is the only way to catch a subtle runtime bug.

    The compiler and include files are located in the file `oxcc.cff'. It
    is run from the command line by the skeleton program `oxcc.exe'
    (see skel.doc). If no switches are enabled, OXCC merely checks the
    input file(s) for errors.

	OXCC is reentrant; a set of C calls and a set of class based calls
	are provided. Multiple instances of OXCC can be run simultaneously.
	A program being compiled by OXCC can run OXCC as a subroutine.
	The program under compilation can gain access to the AST and
	symbol tables which describe it by using the calls __builtin_iv() and
	__builtin_root(). See: toxcc.c

Usage: oxcc [-adoqrstuwABDEFGHILMOPRSTWY(] file...
   -a == print ast                   -s == print symbol table
   -t == print runtimes              -u == print memory usage
   -r == run the code                -f == if run code, go fast
   -L == produce listing             -E == preprocess only
   -S == shrouded source output      -T == trace lines while interpreting
   -P == Parse only
   "-(args for interpreted main" 
   -dn == enable debug output, 1=parser 2=lexer 3=both
   -q == suppress printing gratuitous info
   -o outfile == name of output file, default is first infile
   -A == ansi_mode (suppress extensions, not fully implemented)
   -W == if run code and not fast mode, warn about address problems
   -w == suppress compiler warnings
   -R func == if run code, start at function `func'
   -Ipath == include path for the C preprocessor
   -Ddef == define something for the C preprocssor
   -Gx == generate output in format `x' (abdnmrs)
   -Ox == generate output for operating system `x' (dDwWCNoOUL)
   -Hx == generate output for hardware type `x' (iIPDHmM)
   -Bx == generate output for debugger `x' (vwbgd)
   -Fx == generate object file format `x' (oOPWBace)
   -Yx == generate assembler format `x' (ugmt)
   -Mx == use memory model `x' (tsmlchx)

OUTPUT OPTIONS
    -Gs   regenerate source (output file has .cr suffix)
    -SGs  regenerate shrouded source (output file has .cr suffix)
    -Gb   generate bytecodes (calls oxccb, output file has .byt suffix)
    -LGb  generate bytecode listing (calls oxccb, output file has .lst suffix)
    -Ga   generate assembler output (calls oxccaH, where H is hardware type)
    -Gd   generate readable ANF code (output file has .dbg suffix)
    -Gm   generate machine code (calls oxccmH, where H is hardware type)
    -Gn   generate ANF code (output file has .anf suffix)
    -Gr   generate RIP code (calls oxccr, output file has .rip suffix)

	(see oxanf.doc, oxanf.h)
    -Ox   placed in header slot `target_os'         default `D' DOS32PLAT
    -Hx   placed in header slot `target_hardware'   default `I' INTEL8632
    -Bx   placed in header slot `target_debugger'   default  0  NONE
    -Fx   placed in header slot `obj_format'        default `a' AOUTFORMAT
    -Yx   placed in header slot `target_assembler'  default `g' GAS
    -Mx   placed in header slot `memory_model'      default `x' MODFLAT


INCOMPATIBILITIES

    FUNCTION DECLARATIONS
    OXCC, being a multipass compiler, always chooses the `best' declaration
    for a function. The old style practice of hiding function declarations
    with a declaration containing an unknown number of args (commonly used
    by some programmers) just will not work. At the very least you
    will get a warning if a subroutine is called with arguments imcommensurate
    with the `best' declaration. OXCC will not assume that the declaration
    of an undeclared function `func' is `int func()', you must explicitly
    declare all functions.


LANGUAGE EXTENSIONS

    RUNTIME INTERPRETATION
    The -r switch will cause OXCC to interpret the AST if it can find
    a function named `main' or failing that a function with the base name
    of the input file e.g. test32.c with a function named `test32'.
    The user can specify a unique starting function with the -R switch.
    Arguments can be passed to the starting function by using the -( switch
    providing the starting function adheres to the argc, argv convention.
    e.g.:
       oxcc -r test32.c "-(23 hello 14 -W"
    Another way to cause runtime interpretation is to call the starting
    function from the right hand side of the last initialized outer variable.
    The only restriction is that the starting function must return a value.


    INTERPRETING OUTER DECLARATIONS INCLUDING INNER STATIC VARIABLES
	OXCC evaluates (interprets) non-constant expressions in outer declarations.
    Anything that can appear in a normal C program can contribute to the value
    that is stored in an initialized variable. Uninitialized variables can 
    become initialized as a side effect of a function call. Two reserved words
    `_ival' and `_ifunc' can be prepended to variables and functions 
    respectively in order to prevent them from appearing in the output.
    e.g.:
        double q = sin(2.0) / cos(4.3);
	    void *ptr = malloc(200);    // interpreted malloc acts like calloc
	    static int x,y;
	    _ifunc int initfunc()      // function `initfunc' will not be output
	    {
		int i;
	        x = 50;    // static variable x is initialized to 50.
	        y = 25;    // static variable y is initialized to 25.
			for(i = 0; i < x; ++i)
				ptr[i] = malloc(y);	// initialize the array of pointers
	        return 0;
	    }
        int startfunc(int z)  // function `startfunc' will appear in output
        {
			x += z;		// static variable x is modified before output
			...
			return 0;
        }
	    _ival int z = initfunc();    // variable `z' will not be output
		char *ary[20] = {[2]=ptr[3], [3]=malloc(x), [18]=malloc(y)};
        _ival int dummy = startfunc(25); // variable `dummy' will not be output


	AUTOMATIC VARIABLES (INNER DECLARATIONS)
    Automatic variables can be initialized with non-constant expressions.
    Static variables mentioned inside functions can be non-constant and
    will be initialized at outer declaration time.
    `alloca' is not a suitable initializer for a static variable inside
    a function, use `malloc'.


    DEFAULT ARGUMENTS FOR FUNCTIONS
    Functions can be declared with default args, just use an `=' and fill
    in the right hand side.
    e.g.:
        int func(int a = 3, struct _a b = {2.3,4,1}, char *cp = "hello")
        {
        	....	
        }
    Functions with default args can be called with 0 or more actual args.
    They can also be called normally.
    e.g.:
        func(cp: "goodby"); // a and b will take the default values
        func(3,B,ptr);      // a, b, and cp are fully specified
		func(3);            // b and cp will take the default values
		func();             // a, b, and cp take the default values


    LABELED IDENTIFIERS FOR INITIALIZING ARRAYS AND STRUCTURES
    This extension is inspired by GCC 2.6.x .
    e.g.:
        int array[200] = {[5]= 2, [123]= 45};
        int array[20][50] = {[3][12]= 6, [18][23]= 8};
        struct {
          int x;
    	  int y;
    	  double q;
		  struct {
			int a;
			int b;
		  } bb;
		  struct {
			int a;
			int b;
		  } cc;
        } aa = {.q=4.6, .cc={.b = 12}};  // everything else set to 0


    COMPOUND EXPRESSIONS RETURN A VALUE
    Place parenthesis around braces to create a compound expression
    which consists of multiple statements and returns a value.
    This extension is inspired by GCC.
    e.g.:
	  int y = ({int i; 
                 for(i=0; i<200;++i)
                   if(i>x)
                    break;
                 i+x;	// mention variable to be returned
               });  // y = i+x


    NESTED FUNCTIONS
    Nested functions are functions placed inside functions at
    the location of automatic variables, i.e. before stmts following
    a left brace. All of the automatic variables of the enclosing
    function are within the scope of the nested function and do not
    have to be passed as arguments when the nested function is called.

    OXCC implements flavor #1 of nested functions in which the stack
    of the nested function coincides with the stack of the enclosing
    function. This is the most efficient way to deal with nested functions
    but precludes a nested function from being called recursively. The
    address of a nested function can be taken and passed to a syncronous
    callback. Asyncronous callbacks (such as might occur in an operating
    system like WINDOWS) will not work. Nested functions can call other
    nested functions which are within scope.

    Flavor #2 of nested functions requires that the nested function be
    extracted from it's surroundings and given a stack of it's own. A
    pointer to the stack frame of the enclosing function is passed invisibly
    whenever the nested function is called. Callbacks are implemented with
    thunks. This method produces a much slower nested function facility
    but is usually necessary when generating machine language. Asyncronous

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品播放一区二区| 2022国产精品视频| va亚洲va日韩不卡在线观看| 亚洲激情中文1区| 亚洲婷婷在线视频| 亚洲视频小说图片| 亚洲久草在线视频| 香蕉影视欧美成人| 亚洲成a人v欧美综合天堂下载| 国产精品传媒入口麻豆| 国产精品日产欧美久久久久| 日韩欧美你懂的| 欧美大胆一级视频| 久久久久久久久久久黄色| 久久综合中文字幕| 中文在线一区二区| 亚洲免费观看高清完整版在线观看| 中文字幕精品在线不卡| 国产精品久久精品日日| 亚洲色图在线视频| 午夜电影网亚洲视频| 日韩成人一级片| 国产成人精品亚洲777人妖| 成人午夜视频在线| 欧美午夜理伦三级在线观看| 91浏览器入口在线观看| 欧美日韩在线播放三区| 日韩一级在线观看| 亚洲欧美综合另类在线卡通| 国产亚洲欧美在线| 亚洲美女电影在线| 美女一区二区久久| 91在线视频网址| 日韩欧美亚洲国产另类| 国产欧美日韩亚州综合| 亚洲图片激情小说| 久久精品理论片| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 国内精品视频666| 国产高清不卡二三区| 99视频有精品| 日韩一区二区电影在线| 国产欧美日韩精品一区| 亚洲综合视频在线观看| 国内一区二区在线| 欧美性生活大片视频| 91精品国产综合久久香蕉麻豆| 日韩亚洲欧美高清| 亚洲久草在线视频| 国产不卡视频在线播放| 欧美日韩精品福利| 国产日产欧美一区二区视频| 亚洲欧美在线视频观看| 欧美bbbbb| 欧美日韩中文字幕精品| 久久这里只精品最新地址| 夜色激情一区二区| 成人免费视频一区| 久久夜色精品国产噜噜av| 亚洲精选视频在线| 成年人国产精品| 久久精品夜色噜噜亚洲aⅴ| 一区二区三区.www| 91女人视频在线观看| 久久久久久9999| 激情图片小说一区| 欧美成人video| 蜜臀精品久久久久久蜜臀 | 69堂精品视频| 亚洲高清不卡在线观看| 成人动漫一区二区| 国产欧美一区视频| 成人高清免费观看| 欧美国产精品v| 国产成人免费视频网站| 3751色影院一区二区三区| 一区二区三区国产| 91蝌蚪国产九色| 亚洲精品高清视频在线观看| 国产一区二区三区综合| 日韩三级视频在线看| 日韩一区精品视频| 欧美大片在线观看| 国产精品综合视频| 国产精品久久看| 欧美精品久久久久久久多人混战 | 亚洲色图欧美激情| 色婷婷综合五月| 亚洲国产精品麻豆| 51精品国自产在线| 精东粉嫩av免费一区二区三区| 欧美乱妇20p| 日本不卡一区二区三区高清视频| 欧美日韩一区二区三区不卡| 国产精品国产三级国产有无不卡 | av在线播放成人| 亚洲人成在线播放网站岛国| 国产一区二区免费在线| 国产午夜一区二区三区| 懂色av中文字幕一区二区三区| 中文字幕免费一区| 色中色一区二区| 日本系列欧美系列| 久久久青草青青国产亚洲免观| 国产自产2019最新不卡| 国产精品亲子伦对白| 91麻豆高清视频| 久久国产精品露脸对白| 国产精品午夜免费| 欧美久久久久免费| 成人综合婷婷国产精品久久免费| 亚洲欧洲性图库| 9191精品国产综合久久久久久| 国产老女人精品毛片久久| 国产精品色婷婷久久58| 欧美午夜不卡在线观看免费| 亚洲高清视频的网址| 欧美电视剧免费观看| 床上的激情91.| 日本午夜一区二区| 一区二区三区欧美在线观看| 欧洲色大大久久| 丁香婷婷综合激情五月色| 亚洲国产视频一区二区| 欧美精品一区二区精品网| av不卡在线播放| 麻豆精品一区二区av白丝在线| 久久久久高清精品| 日韩欧美亚洲一区二区| 99久久综合色| 国产伦精品一区二区三区免费迷 | 粉嫩一区二区三区性色av| 亚洲一区二区影院| 国产欧美一区二区在线| 9191国产精品| 欧美三区在线观看| 99久久精品免费看国产| 国产一区二区三区电影在线观看| 亚洲在线视频免费观看| 亚洲国产经典视频| 久久久久亚洲综合| 日韩精品一区二区三区四区视频| 色域天天综合网| 成人免费看黄yyy456| 韩国视频一区二区| 丝袜脚交一区二区| 亚洲一区二区偷拍精品| 1000精品久久久久久久久| xnxx国产精品| 欧美精品一区二区三区在线| 97精品久久久久中文字幕 | 久久99精品久久久| 日一区二区三区| 亚洲黄色性网站| 一区二区三区免费| 亚洲精品成人少妇| 一区二区三区四区乱视频| 国产精品系列在线| 亚洲素人一区二区| 亚洲靠逼com| 五月天婷婷综合| 麻豆freexxxx性91精品| 天天av天天翘天天综合网色鬼国产 | 日本不卡一区二区三区高清视频| 亚洲一区在线视频| 日韩激情视频网站| 国模少妇一区二区三区| 韩日av一区二区| av在线不卡免费看| 91黄色激情网站| 欧美乱熟臀69xxxxxx| 欧美精品日韩一本| 2023国产精华国产精品| 26uuu亚洲综合色| 中文字幕亚洲区| 亚洲国产一区二区三区青草影视 | 91网站在线观看视频| 91视频在线看| 欧美精品日日鲁夜夜添| 欧美一区国产二区| 欧美国产日韩精品免费观看| 久久一区二区三区国产精品| 精品粉嫩aⅴ一区二区三区四区| 久久久精品蜜桃| 亚洲卡通欧美制服中文| 日韩av网站免费在线| 国产精品一区二区三区乱码| 国产一区二区免费看| 99久久99久久精品国产片果冻| 欧美性感一类影片在线播放| 在线精品国精品国产尤物884a| 欧美精品色综合| 国产精品久久久久9999吃药| 最近日韩中文字幕| 久久超碰97中文字幕| av不卡在线观看| 精品国产一区二区三区忘忧草 | 91精品国产aⅴ一区二区| 久久老女人爱爱| 午夜精品免费在线观看|