⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lmfjyh.hin

📁 1984-1993模糊 C 源代码竞赛.zip 非常的好,不过这是DOS格式,要用UE去打开.
💻 HIN
字号:
Most Versatile Source: <lmfjyh@ericsson.fi> Jyrki Holopainen	Jyrki Holopainen	Oy LM Ericsson Ab	SF-02420 Jorvas	FinlandJudges' comments:    To use:	make lmfjyh	./lmfjyh        See the makefile for details.    There's more than one way to get around disk quotas. :-)    Some people have reported problems compiling this entry    with gcc 2.3.3.    The make command:	make tidy        will remove the "special" file that is created during the     make of lmfjyh.Selected notes from the author:    "Practical and efficient method of compressing source code"    1. Introduction    I will shortly present a totally new compression method.    It may be used to compress any types of files, but it works    best with C-source code.    As an example, I have taken a simple "Hello world!" program    that should be familiar to all C-programmers.    Listing 1. A simple "Hello World" program:    main()    {      puts("Hello World!");    }    2. Packing method    Normally a file name is used only to identify the file,     but this new revolutionary method introduces a totally new concept:     THE FILE NAME IS THE PROGRAM. There is no need to waste    valuable disk space to store source code. The program is    embedded in the file name, only a minor portion of it    is inside the file.    Listing 2. Compressed "Hello world":    char*_=__FILE__;    Listing 3. Code embedded in the file name:    ";main(){puts("Hello World!");}char*C=".c    The sample program in listing 1 is 36 bytes long. By using the new    compression method, the example program may be squeezed to sixteen    bytes. In the example the compression ratio is 2:1. It is evident    that the longer the program is, the better the compression ratio    is. The maximum compression ratio in a UNIX environment is 254:16    which equals approximately to 16:1.  By using the method a one    megabyte of source code can be compressed to 64 kilobytes.    One might easily think that the program could be compressed to a    single byte by writing a one character long preprocessor directive    in the source file and defining the actual source code in the    command line, eg. 'cc hello.c -DX=main(){puts...'.  With this    method nothing is gained, since the compiling commands must be    stored in a file, and that takes even more space than writing the    code in a source file as presented in listing 1.    3. Packing files in a UNIX environment    In a UNIX environment it is possible to write almost any program by    including the code in file names. Since '/' is used to separate    path components and cannot therefore exist in a file name, all    features of C-language cannot be used.    In C, the '/' is used as a division operator and it may also be a    part of a comment start and end identifier. This is, however, not a    dangerous limitation, since practice has shown that comments are    almost totally unnecessary. A real programmer can more easily    understand pure source code, and misleading comments are    disastrous. The division operation may be replaced with pow(x, -1)    and multiplication when using real numbers or with div() function    when using integers.    Large programs must be separated into small modules. This enforces    people to write better programs, since monolithic programming style    cannot be used. Program development will also be faster, no extra    code need not be recompiled after changes have been made.    4. Usage with currently available tools    I have tested how well this new method works with currently    available programming tools.    Any ANSI conforming C-compiler that runs under a REAL operating    system should be able to compile the code.  (there may be problems    with some older UNIX variants)    4.1. Compilers:    These worked:    gcc versions 2.0, 2.1, 2.3.2 (ld failed at AIX with gcc 2.1)    cc (HP-UX)    cc (VAX)    These failed miserably:    cc (SunOs/Solaris)      - could not start cpp properly    cc/xlc (AIX)            - could not open source    4.2. Other tools:    4.2.1 Debuggers: (tested at SunOs 4.1.2)    dbx     - Quit with a very 'informative' error message:	    "dbx: fatal error: Is a directory"    gdb     - Printed almost the same error message ":Is a directory".	    It was, however, possible to step through the code but 	    not list it.    4.2.2 Lints:	    - None of the lints at tested environments were able	      to open the file.    5. Conclusions    The method can be used to compress any types of files, actually the    compression ratios are even better when compressing other files    than C-source.  For example plain text files may be compressed with    INFINITE compression ratio. It is trivial task to compress a 100    kilobytes long text file in about 400 files whose lengths are zero    bytes.  The drawback is that the files must be unpacked before they    can be used, so a large amount of temporary disk space is needed,    while C-source is totally usable in the compressed form.    Evidently, there is a long way to go before this new programming    technique may be widely used, since currently there are only few    tools supporting it. The advantages over the traditional methods    are, however, so great that there is no doubt that this method will    be new standard.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -