ANNOUNCEMENT: Live Wireshark University & Allegro Packets online APAC Wireshark Training Session
April 17th, 2024 | 14:30-16:00 SGT (UTC+8) | Online

Wireshark-dev: Re: [Wireshark-dev] Using C++ for a test tool linking to wireshark

From: Graham Bloice <graham.bloice@xxxxxxxxxxxxx>
Date: Thu, 10 Aug 2017 11:00:20 +0100


On 9 August 2017 at 20:21, Guy Harris <guy@xxxxxxxxxxxx> wrote:
On Aug 9, 2017, at 12:01 PM, Sultan, Hassan <sultah@xxxxxxxxxx> wrote:

> Awesome :) so no concerns about C++ 11 then ?

There's "concerns about C++" and there's "concerns about C++ 11".

The Wireshark Developer's Guide:

        https://www.wireshark.org/docs/wsdg_html_chunked/ChSetupWin32.html#ChSetupMSVC

currently *recommends* Microsoft Visual Studio 2013 Community Edition, and notes that we use that version to build the releases, but also mentions VS 2010.  VS 2010 supports some, but not all, features in the C++11 core language specification:


2.4 and master are now built with VS2015, so we need some doc updates.  Master might well move to VS2017 this year.  Personally I wouldn't worry about any VS pre 2013.

 
        https://msdn.microsoft.com/en-us/library/hh567368(v=vs.120).aspx

GCC 4.8.1 is claimed to be feature-complete for C++ 11:

        https://gcc.gnu.org/projects/cxx-status.html#cxx11

"Clang 3.3 and later implement all of the ISO C++ 2011 standard.":

        https://clang.llvm.org/cxx_status.html

but "By default, Clang builds C++ code according to the C++98 standard, with many C++11 features accepted as extensions. You can use Clang in C++11 mode with the -std=c++11 option."

I don't know which versions of various vendor compilers for UN*X (Oracle Studio, IBM XLC++ or whatever they call it, HP C++) support what versions of the C++ standard; this page:

        http://en.cppreference.com/w/cpp/compiler_support

"is maintained as best-effort and may lag behind most recent compiler releases" but might be worth checking.

If we were to require C++ 11 support, we might need to change the autoconf script or the CMake files to ensure that we use flags such as -std=C++11 when building C++ code.
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request@wireshark.org?subject=unsubscribe



--
Graham Bloice