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. General Programming
  3. C / C++ / MFC
  4. delete

delete

Scheduled Pinned Locked Moved C / C++ / MFC
29 Posts 7 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.
  • N N a v a n e e t h

    Luc Pattyn wrote:

    it seems to know from the extension (as it should IMO).

    I don't think so. On default settings it uses C++ compiler to compile the code irrespective of what extension it is. You can see this from the output window. This will work because most of the C code is also valid on C++. When you set the "Compile as C" option, you can see adiitional compiler flag getting added to the compile command and it defaults to the C89 standard. :)

    Best wishes, Navaneeth

    L Offline
    L Offline
    Luc Pattyn
    wrote on last edited by
    #21

    I now located the "compile as C" switch (project Properties/Configuration Properties/CC++/Advanced); I'm pretty sure I've never used it before. I will experiment next time I need some native code stuff. Thanks. :)

    Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

    Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.

    1 Reply Last reply
    0
    • N N a v a n e e t h

      Luc Pattyn wrote:

      it seems to know from the extension (as it should IMO).

      I don't think so. On default settings it uses C++ compiler to compile the code irrespective of what extension it is. You can see this from the output window. This will work because most of the C code is also valid on C++. When you set the "Compile as C" option, you can see adiitional compiler flag getting added to the compile command and it defaults to the C89 standard. :)

      Best wishes, Navaneeth

      L Offline
      L Offline
      Luc Pattyn
      wrote on last edited by
      #22

      I just discovered Visual Studio 2008 Express Edition applies /TC (i.e. Compile as C code) for a C file inside a C++ project (which has the setting /TP, i.e. Compile as C++ code). So there is no need to change the setting provided the extension is correct. :)

      Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

      Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.

      N 1 Reply Last reply
      0
      • D David Crow

        Luc Pattyn wrote:

        ...it seems to know from the extension (as it should IMO).

        It always has for me. I've never changed compiler options when switching between C and CPP files.

        "One man's wage rise is another man's price increase." - Harold Wilson

        "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

        "Man who follows car will be exhausted." - Confucius

        L Offline
        L Offline
        Luc Pattyn
        wrote on last edited by
        #23

        No need to switch settings, see my 2 replies to nananeeth. :)

        Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

        Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.

        1 Reply Last reply
        0
        • L Lost User

          Luc Pattyn wrote:

          I wish there were an easier way

          You can write pure C in a .cpp source file.

          It's time for a new signature.

          C Offline
          C Offline
          Cedric Moonen
          wrote on last edited by
          #24

          Richard MacCutchan wrote:

          You can write pure C in a .cpp source file.

          But then your code won't be compiled as C code, in the sense that it is not pure C anymore (you'll be able to declare variables everywhere in a function for instance). If you specify the extension as .c, your file will be compiled as pure C code.

          Cédric Moonen Software developer
          Charting control [v3.0] OpenGL game tutorial in C++

          L 1 Reply Last reply
          0
          • N N a v a n e e t h

            Choose "Empty project". When adding files, specify extension as C (actually extension doesn't matter). Now on the project properties, choose "Compile as C" option.

            Best wishes, Navaneeth

            C Offline
            C Offline
            Cedric Moonen
            wrote on last edited by
            #25

            N a v a n e e t h wrote:

            actually extension doesn't matter

            I don't know for the 2010 version, but for the 2005 version, if your file has a c extension, it will be automatically compiled as C code. So, the extension does make a difference.

            Cédric Moonen Software developer
            Charting control [v3.0] OpenGL game tutorial in C++

            1 Reply Last reply
            0
            • C Cedric Moonen

              Richard MacCutchan wrote:

              You can write pure C in a .cpp source file.

              But then your code won't be compiled as C code, in the sense that it is not pure C anymore (you'll be able to declare variables everywhere in a function for instance). If you specify the extension as .c, your file will be compiled as pure C code.

              Cédric Moonen Software developer
              Charting control [v3.0] OpenGL game tutorial in C++

              L Offline
              L Offline
              Lost User
              wrote on last edited by
              #26

              Cedric Moonen wrote:

              If you specify the extension as .c, your file will be compiled as pure C code.

              If you really like to be a dinosaur :laugh:

              It's time for a new signature.

              C L 2 Replies Last reply
              0
              • L Lost User

                Cedric Moonen wrote:

                If you specify the extension as .c, your file will be compiled as pure C code.

                If you really like to be a dinosaur :laugh:

                It's time for a new signature.

                C Offline
                C Offline
                Cedric Moonen
                wrote on last edited by
                #27

                Awww... I am a dinosaur then :~ I had to do that for a project a couple of weeks ago. But I have to say that moving from C++ to C is really horrible.

                Cédric Moonen Software developer
                Charting control [v3.0] OpenGL game tutorial in C++

                1 Reply Last reply
                0
                • L Lost User

                  Cedric Moonen wrote:

                  If you specify the extension as .c, your file will be compiled as pure C code.

                  If you really like to be a dinosaur :laugh:

                  It's time for a new signature.

                  L Offline
                  L Offline
                  Luc Pattyn
                  wrote on last edited by
                  #28

                  or don't like to carry a big run-time library you don't need, e.g. in embedded systems. :)

                  Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

                  Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.

                  1 Reply Last reply
                  0
                  • L Luc Pattyn

                    I just discovered Visual Studio 2008 Express Edition applies /TC (i.e. Compile as C code) for a C file inside a C++ project (which has the setting /TP, i.e. Compile as C++ code). So there is no need to change the setting provided the extension is correct. :)

                    Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

                    Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.

                    N Offline
                    N Offline
                    N a v a n e e t h
                    wrote on last edited by
                    #29

                    You are correct. It does automatically. Thanks for pointing that out!

                    Best wishes, Navaneeth

                    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