Thread: C or C++ Generic Serialization and Deserialization DLL

  1. #16
    Registered User
    Join Date
    Jul 2009
    Posts
    11
    Quote Originally Posted by Sebastiani View Post
    >> Which technology are you recommending? The concern of my boss and co-worker is that we need to be able to see what it's doing and (for the most part) understand what's going on since the traffic is confidential information for within our building only.

    Personally, I would recommend Mono. It works on both Windows and Linux, and supports a large number of languages (including VB).
    This question just dawned on me: do I have to install MONO on the client or would it be a "sealed" dll with everything it needs to function properly?

  2. #17
    Guest Sebastiani's Avatar
    Join Date
    Aug 2001
    Location
    Waterloo, Texas
    Posts
    5,708
    >> I can write the MONO code in C# and essentially copy and paste it at home to compile, correct?

    That is correct.
    Code:
    #include <cmath>
    #include <complex>
    bool euler_flip(bool value)
    {
        return std::pow
        (
            std::complex<float>(std::exp(1.0)), 
            std::complex<float>(0, 1) 
            * std::complex<float>(std::atan(1.0)
            *(1 << (value + 2)))
        ).real() < 0;
    }

  3. #18
    Guest Sebastiani's Avatar
    Join Date
    Aug 2001
    Location
    Waterloo, Texas
    Posts
    5,708
    >> This question just dawned on me: do I have to install MONO on the client or would it be a "sealed" dll with everything it needs to function properly?

    The only requirement is that you have *some* .NET runtime installed on the system (most Windows systems do). Even so, there are vendors such as Xenocode that have product that will convert a .NET assembly into a "standalone" DLL/EXE.
    Code:
    #include <cmath>
    #include <complex>
    bool euler_flip(bool value)
    {
        return std::pow
        (
            std::complex<float>(std::exp(1.0)), 
            std::complex<float>(0, 1) 
            * std::complex<float>(std::atan(1.0)
            *(1 << (value + 2)))
        ).real() < 0;
    }

  4. #19
    Registered User
    Join Date
    Jul 2009
    Posts
    11
    Quote Originally Posted by Sebastiani View Post
    >> This question just dawned on me: do I have to install MONO on the client or would it be a "sealed" dll with everything it needs to function properly?

    The only requirement is that you have *some* .NET runtime installed on the system (most Windows systems do). Even so, there are vendors such as Xenocode that have product that will convert a .NET assembly into a "standalone" DLL/EXE.
    To clarify: so long as the .Net CF is installed on the scanner (client) then the MONO app will still find the unavailable binary serializer?

    If that wont work, then I need to find a free app to create the standalone DLL.

  5. #20
    Guest Sebastiani's Avatar
    Join Date
    Aug 2001
    Location
    Waterloo, Texas
    Posts
    5,708
    >> To clarify: so long as the .Net CF is installed on the scanner (client) then the MONO app will still find the unavailable binary serializer?

    Oh, well of course not. If it doesn't have the Serialization assembly on the system, it won't run. You could probably just locate the assembly in the Mono package and copy it to the target system, but I've never actually tried to do this, personally, so I'm not sure what technical obstacles might be encountered there.


    EDIT:
    It also looks like you could use Mono's mkbundle utility to merge the assembly containing System.Runtime.Serialization with your application.
    Last edited by Sebastiani; 07-21-2009 at 11:14 PM.
    Code:
    #include <cmath>
    #include <complex>
    bool euler_flip(bool value)
    {
        return std::pow
        (
            std::complex<float>(std::exp(1.0)), 
            std::complex<float>(0, 1) 
            * std::complex<float>(std::atan(1.0)
            *(1 << (value + 2)))
        ).real() < 0;
    }

  6. #21
    Registered User
    Join Date
    Jul 2009
    Posts
    11
    I appreciate the input from both of you.

    I've looked through multiple avenues and had a discussion with my superior. He suggested we go with the easiest implementation so long as it's not unbearably expensive. Thus, I had decided to go with As Good As It Gets .Net Compact Framework Remoting and Serialization "suite." Essentially it's a set of DLL's that mimic the usage of the normal .Net remoting and serialization but made to interact on the .Net CF. I downloaded the trial and things began to work after a few hours.

    As a side note: I'm going to keep MONO in mind for when I make the jump to the Linux camp.

    Thanks again for your help!

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. C++ Serialization
    By SevenThunders in forum C++ Programming
    Replies: 4
    Last Post: 04-29-2008, 03:12 AM