Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Grotesque C tricks

Grotesque C tricks

Scheduled Pinned Locked Moved The Lounge
html
12 Posts 11 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    Dan Neely
    wrote on last edited by
    #1

    Write a small C program, which while compiling takes another program from input terminal, and on running gives the result for the second program.[^]

    3x12=36 2x12=24 1x12=12 0x12=18

    P H Mike HankeyM N _ 7 Replies Last reply
    0
    • D Dan Neely

      Write a small C program, which while compiling takes another program from input terminal, and on running gives the result for the second program.[^]

      3x12=36 2x12=24 1x12=12 0x12=18

      P Offline
      P Offline
      PIEBALDconsult
      wrote on last edited by
      #2

      Huh, never thought of that. # include "sys$input" HP C V7.3-009 on OpenVMS Alpha V8.3 says:

      JB> cc/war=verb i.h

      include <stdio.h>

      Exit
      Exit
      Exit

      include <stdio.h>

      ..^
      Cannot include files in a prologue or epilogue file.
      at line number 1 in file SYS$INPUT:__DECC_INCLUDE_PROLOGUE.H;
      Description: It is not possible for a prologue or epilogue file to perform an #include directive. This might lead to nested inclusi
      on.
      User Action: Remove the #include directive from the prologue/epilogue file.

      (Note it takes three Ctrl-Zs to get it to work.)

      JB> cc/war=verb/first=stdio.h i.h
      void main(){printf("Hello, world!");}
      Exit
      Exit
      Exit
      JB> link i
      JB> run i
      Hello, world!
      JB>

      1 Reply Last reply
      0
      • D Dan Neely

        Write a small C program, which while compiling takes another program from input terminal, and on running gives the result for the second program.[^]

        3x12=36 2x12=24 1x12=12 0x12=18

        H Offline
        H Offline
        HimanshuJoshi
        wrote on last edited by
        #3

        cool :cool:

        1 Reply Last reply
        0
        • D Dan Neely

          Write a small C program, which while compiling takes another program from input terminal, and on running gives the result for the second program.[^]

          3x12=36 2x12=24 1x12=12 0x12=18

          Mike HankeyM Offline
          Mike HankeyM Offline
          Mike Hankey
          wrote on last edited by
          #4

          Pretty slick...never thought of that?

          "Life can only be understood backwards, but it must be lived forward." Kierkegaard, Søren

          1 Reply Last reply
          0
          • D Dan Neely

            Write a small C program, which while compiling takes another program from input terminal, and on running gives the result for the second program.[^]

            3x12=36 2x12=24 1x12=12 0x12=18

            N Offline
            N Offline
            NormDroid
            wrote on last edited by
            #5

            Almost as a bad as a VB user I worked with on an airport project. His concept of multithreading was to how 2 programs running on the same server and commuting data between them via tcp/ip X| Luckily the error was corrected with an immediate rewrite in C++.

            Software Kinetics - The home of good software

            A R B 3 Replies Last reply
            0
            • D Dan Neely

              Write a small C program, which while compiling takes another program from input terminal, and on running gives the result for the second program.[^]

              3x12=36 2x12=24 1x12=12 0x12=18

              _ Offline
              _ Offline
              _stefanu_
              wrote on last edited by
              #6

              You should check out IOCCC.

              D 1 Reply Last reply
              0
              • _ _stefanu_

                You should check out IOCCC.

                D Offline
                D Offline
                Dan Neely
                wrote on last edited by
                #7

                I'm well aware of it, stuff like the pi calculator[^] is awesome. That was simply grotesque.

                3x12=36 2x12=24 1x12=12 0x12=18

                1 Reply Last reply
                0
                • D Dan Neely

                  Write a small C program, which while compiling takes another program from input terminal, and on running gives the result for the second program.[^]

                  3x12=36 2x12=24 1x12=12 0x12=18

                  R Offline
                  R Offline
                  Rajasekharan Vengalil
                  wrote on last edited by
                  #8

                  Neat. Works with VC++ as well. Like so:

                  D:\Code\vc\solos>type reader.c
                  #include "CON"

                  D:\Code\vc\solos>cl /nologo reader.c
                  reader.c
                  int printf(); int main(int argc, char *argv[]) { printf("hello, world\n"); return 0; }

                  D:\Code\vc\solos>reader.exe
                  hello, world

                  -- Raj alias "Ranju" alias "gleat" http://blogorama.nerdworks.in[^] --

                  1 Reply Last reply
                  0
                  • N NormDroid

                    Almost as a bad as a VB user I worked with on an airport project. His concept of multithreading was to how 2 programs running on the same server and commuting data between them via tcp/ip X| Luckily the error was corrected with an immediate rewrite in C++.

                    Software Kinetics - The home of good software

                    A Offline
                    A Offline
                    austin hamman
                    wrote on last edited by
                    #9

                    actually thats a perfectly fine method of concurrency (known actually as multi-programming) his only error was using visual basic. multi-programming is a common mechanism for *nix programs (usually with a client/daemon setup, or a small program that runs and then goes away) though on *nix you wouldnt use sockets you might use pipes but more likely you just do your stuff via stdout/stdin or if you used fork() then ipc is done via shared memory. it usually faster to spawn a process in a *nix environment than, say, a windows environment. also by splitting a program into two you can make development easier, more secure (as you can have one program that needs certain permissions running under those permissions with well defined and tested interfaces)

                    1 Reply Last reply
                    0
                    • N NormDroid

                      Almost as a bad as a VB user I worked with on an airport project. His concept of multithreading was to how 2 programs running on the same server and commuting data between them via tcp/ip X| Luckily the error was corrected with an immediate rewrite in C++.

                      Software Kinetics - The home of good software

                      R Offline
                      R Offline
                      Rick Shaub
                      wrote on last edited by
                      #10

                      Since pre-.NET VB doesn't support multithreading (even using Win32 DLL imports), this is a legitimate method of concurrency.

                      1 Reply Last reply
                      0
                      • D Dan Neely

                        Write a small C program, which while compiling takes another program from input terminal, and on running gives the result for the second program.[^]

                        3x12=36 2x12=24 1x12=12 0x12=18

                        E Offline
                        E Offline
                        englebart
                        wrote on last edited by
                        #11

                        Not legal in C++, but it worked in C.

                        switch (i) {
                        case 0:
                        case 1:
                        f0and1();
                        if (i != 1) {
                        case 2:
                        f0and2(); // but not 1
                        }
                        case 3:
                        f0and1and2and3();
                        }

                        The if statement around the case is the kicker.

                        1 Reply Last reply
                        0
                        • N NormDroid

                          Almost as a bad as a VB user I worked with on an airport project. His concept of multithreading was to how 2 programs running on the same server and commuting data between them via tcp/ip X| Luckily the error was corrected with an immediate rewrite in C++.

                          Software Kinetics - The home of good software

                          B Offline
                          B Offline
                          Ben Breeg
                          wrote on last edited by
                          #12

                          Norm .net wrote:

                          His concept of multithreading was to how 2 programs running on the same server and commuting data between them via tcp/ip

                          This could be done easily on the Commodore Amiga. Instead of using tcp/ip one used Arexx instead; the Amiga interpretation of the Rexx language.

                          I am the Breeg, goo goo g'joob Aici zace un om despre care nu sestie prea mult

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • World
                          • Users
                          • Groups