[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bindings
Subject:    Re: [Kde-bindings] Qt & SWIG
From:       Ruth Ivimey-Cook <ruth () ivimey ! org>
Date:       2013-07-12 11:41:29
Message-ID: 51DFEB69.5040801 () ivimey ! org
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Dimitar and others,

I evaluated using Qyoto for a project I'm working on and - with regret 
for all the hard work Dimitar had obviously put in - decided against it, 
both because it was buggy and because it was very slow. When I 
investigated the speed issue SMOKE relies on textual matching of 
function signatures to call functions. Admittedly the hashes, once 
matched, are hashed and cached, but still...   It also involved at least 
2 transitions from managed to unmanaged code, which IIRC are expensive 
in themselves.

People I know have used SWIG to good effect but I have no personal 
experience.

A statically linked shim file (not a DLL, if possible) - i.e. a set of 
functions coded in managed code that each make an unmanaged call to the 
"real" function would be the way I would expect. Coding this by hand 
would be painful, so a program to generate them is the obvious response. 
I believe this is the SWIG way.

If it were possible I would look into using something like an XML file 
containing the interface definition, maybe itself initially generated 
from the .h files, and which can then be adapted and enhanced to improve 
it. If the Qt and/or SWIG community were receptive this might become 
something people would support generally - e.g. including PyQt et al. - 
which would benefit everyone.

HTH
Ruth


Dimitar Dobrev wrote:
>
>     Dylan,
>
> Thank you for your suggestion. I know about CXXI but it wouldn't be my 
> choice for the following reasons:
>     1. It is both incomplete and abandoned;
>     2. It relies on Reflection.Emit which is not supported on iOS; Qt 
> will soon officially run on iOS and it'd be nice if the bindingsworked 
> on that platform too.
>
>     Regards,
>     Dimitar
>
> ------------------------------------------------------------------------
> *From:* "Moonfire, D." <d.moonfire@mfgames.com>
> *To:* KDE bindings for other programming languages <kde-bindings@kde.org>
> *Sent:* Thursday, July 11, 2013 9:06 PM
> *Subject:* Re: [Kde-bindings] Qt & SWIG
>
> On Thu, Jul 11, 2013 at 10:25 AM, Gour <gour@atmarama.net 
> <mailto:gour@atmarama.net>> wrote:
>
>     On Thu, 11 Jul 2013 06:31:43 -0700 (PDT)
>     Dimitar Dobrev <dpldobrev@yahoo.com <mailto:dpldobrev@yahoo.com>>
>     wrote:
>
>     > 3. I don't want to have anything to do with SMOKE any more so if
>     you'd
>     > like to take this path, you'd be on your own.
>
>     Isn't it pity that there is no more interest in having Qt bindings for
>     the .NET/Mono? :-(
>
>
> There was an announcement some years back on one of the Mono blogs 
> about an interop layer for C++ (https://github.com/mono/cxxi). It was 
> never mentioned again and I think a grue ate it, but it looked like a 
> really nice set of libraries if someone maintained it beyond the 
> initial proof of concept. I also don't know how tightly it is tied to 
> Mono itself and if a cross-platform version could be done with it.
>
> Looking at the code, they were also using Qt as the example in their POC.
>
> - Dylan
>
> _______________________________________________
> Kde-bindings mailing list
> Kde-bindings@kde.org <mailto:Kde-bindings@kde.org>
> https://mail.kde.org/mailman/listinfo/kde-bindings
>
>
>
>
> _______________________________________________
> Kde-bindings mailing list
> Kde-bindings@kde.org
> https://mail.kde.org/mailman/listinfo/kde-bindings


-- 
Software Manager & Engineer
Tel: 01223 414180
Blog: http://www.ivimey.org/blog
LinkedIn: http://uk.linkedin.com/in/ruthivimeycook/


[Attachment #5 (text/html)]

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Dimitar and others,<br>
      <br>
      I evaluated using Qyoto for a project I'm working on and - with
      regret for all the hard work Dimitar had obviously put in -
      decided against it, both because it was buggy and because it was
      very slow. When I investigated the speed issue SMOKE relies on
      textual matching of function signatures to call functions.
      Admittedly the hashes, once matched, are hashed and cached, but
      still...&nbsp;&nbsp; It also involved at least 2 transitions from managed to
      unmanaged code, which IIRC are expensive in themselves. <br>
      <br>
      People I know have used SWIG to good effect but I have no personal
      experience.<br>
      <br>
      A statically linked shim file (not a DLL, if possible) - i.e. a
      set of functions coded in managed code that each make an unmanaged
      call to the "real" function would be the way I would expect.
      Coding this by hand would be painful, so a program to generate
      them is the obvious response. I believe this is the SWIG way.<br>
      <br>
      If it were possible I would look into using something like an XML
      file containing the interface definition, maybe itself initially
      generated from the .h files, and which can then be adapted and
      enhanced to improve it. If the Qt and/or SWIG community were
      receptive this might become something people would support
      generally - e.g. including PyQt et al. - which would benefit
      everyone.<br>
      <br>
      HTH<br>
      Ruth<br>
      <br>
      <br>
      Dimitar Dobrev wrote:<br>
    </div>
    <blockquote
      cite="mid:1373566500.95308.YahooMailNeo@web122402.mail.ne1.yahoo.com"
      type="cite">
      <div style="color:#000; background-color:#fff; font-family:times
        new roman, new york, times, serif;font-size:12pt"><span
          class="tab">&nbsp;&nbsp;&nbsp; <br>
        </span><span class="tab">&nbsp;&nbsp;&nbsp; Dylan,<br>
          <br>
        </span><span class="tab">&nbsp;&nbsp;&nbsp; </span><span class="tab">Thank \
you  for your suggestion. </span>I know about CXXI but it wouldn't
        be my choice for the following reasons:<br>
        <span class="tab">&nbsp;&nbsp;&nbsp; 1. It is both incomplete and \
abandoned;</span><span  class="tab"><br>
        </span><span class="tab">&nbsp;&nbsp;&nbsp; 2. It relies on Reflection.Emit
          which is not supported on iOS; Qt will soon officially run on
          iOS and it'd be nice if the bindings</span><span class="tab">
          worked on that platform too.<br>
          <br>
        </span><span class="tab">&nbsp;&nbsp;&nbsp; Regards,<br>
        </span><span class="tab">&nbsp;&nbsp;&nbsp; Dimitar</span><span class="tab"> \
&nbsp;&nbsp;  </span>
        <div><br>
        </div>
        <div style="font-family: times new roman, new york, times,
          serif; font-size: 12pt;">
          <div style="font-family: times new roman, new york, times,
            serif; font-size: 12pt;">
            <div dir="ltr">
              <hr size="1"> <font size="2" face="Arial"> <b><span
                    style="font-weight:bold;">From:</span></b>
                "Moonfire, D." <a class="moz-txt-link-rfc2396E" \
href="mailto:d.moonfire@mfgames.com">&lt;d.moonfire@mfgames.com&gt;</a><br>  <b><span \
style="font-weight: bold;">To:</span></b> KDE  bindings for other programming \
                languages
                <a class="moz-txt-link-rfc2396E" \
href="mailto:kde-bindings@kde.org">&lt;kde-bindings@kde.org&gt;</a> <br>  <b><span \
style="font-weight: bold;">Sent:</span></b>  Thursday, July 11, 2013 9:06 PM<br>
                <b><span style="font-weight: bold;">Subject:</span></b>
                Re: [Kde-bindings] Qt &amp; SWIG<br>
              </font> </div>
            <div class="y_msg_container"><br>
              <div id="yiv6596556836">
                <div class="yiv6596556836gmail_quote">On Thu, Jul 11,
                  2013 at 10:25 AM, Gour <span dir="ltr">&lt;<a
                      moz-do-not-send="true" rel="nofollow"
                      ymailto="mailto:gour@atmarama.net" target="_blank"
                      \
href="mailto:gour@atmarama.net">gour@atmarama.net</a>&gt;</span>  wrote:<br>
                  <blockquote class="yiv6596556836gmail_quote"
                    style="margin:0 0 0 .8ex;border-left:1px #ccc
                    solid;padding-left:1ex;">
                    On Thu, 11 Jul 2013 06:31:43 -0700 (PDT)<br>
                    Dimitar Dobrev &lt;<a moz-do-not-send="true"
                      rel="nofollow"
                      ymailto="mailto:dpldobrev@yahoo.com"
                      target="_blank" \
href="mailto:dpldobrev@yahoo.com">dpldobrev@yahoo.com</a>&gt;  wrote:<br>
                    <br>
                    &gt; 3. I don't want to have anything to do with
                    SMOKE any more so if you'd<br>
                    &gt; like to take this path, you'd be on your own.<br>
                    <br>
                    Isn't it pity that there is no more interest in
                    having Qt bindings for<br>
                    the .NET/Mono? :-(<br>
                  </blockquote>
                </div>
                <br>
                There was an announcement some years back on one of the
                Mono blogs about an interop layer for C++ (<a
                  moz-do-not-send="true" rel="nofollow" target="_blank"
                  href="https://github.com/mono/cxxi">https://github.com/mono/cxxi</a>).
  It was never mentioned again and I think a grue ate it,
                but it looked like a really nice set of libraries if
                someone maintained it beyond the initial proof of
                concept. I also don't know how tightly it is tied to
                Mono itself and if a cross-platform version could be
                done with it.<br>
                <br>
                Looking at the code, they were also using Qt as the
                example in their POC.<br>
                <br>
                - Dylan<br>
              </div>
              <br>
              _______________________________________________<br>
              Kde-bindings mailing list<br>
              <a moz-do-not-send="true"
                ymailto="mailto:Kde-bindings@kde.org"
                href="mailto:Kde-bindings@kde.org">Kde-bindings@kde.org</a><br>
              <a moz-do-not-send="true"
                href="https://mail.kde.org/mailman/listinfo/kde-bindings"
                target="_blank">https://mail.kde.org/mailman/listinfo/kde-bindings</a><br>
  <br>
              <br>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Kde-bindings mailing list
<a class="moz-txt-link-abbreviated" \
href="mailto:Kde-bindings@kde.org">Kde-bindings@kde.org</a> <a \
class="moz-txt-link-freetext" \
href="https://mail.kde.org/mailman/listinfo/kde-bindings">https://mail.kde.org/mailman/listinfo/kde-bindings</a>
 </pre>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Software Manager &amp; Engineer
Tel: 01223 414180
Blog: <a class="moz-txt-link-freetext" \
                href="http://www.ivimey.org/blog">http://www.ivimey.org/blog</a>
LinkedIn: <a class="moz-txt-link-freetext" \
href="http://uk.linkedin.com/in/ruthivimeycook/">http://uk.linkedin.com/in/ruthivimeycook/</a> \
</pre>  </body>
</html>



_______________________________________________
Kde-bindings mailing list
Kde-bindings@kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic