<div dir="ltr"><div>You don't have to make the choice everytime, only once.</div><div><br></div><div>If System.Architecture = "x86_64" Then<br></div><div>hClassToBeUsed = 32bitClass</div><div>Else<br></div><div>hClassToBeUsed = 64bitClass<br></div><div>Endif<br></div><div><br></div><div>hClassToBeUsed.Somefunction()</div><div><br></div><div><br></div><div>Jussi<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jul 4, 2020 at 6:22 AM Brian G <<a href="mailto:brian@westwoodsvcs.com">brian@westwoodsvcs.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div><p style="margin-top:0px" dir="ltr">So put every extern into two classes and then choose the one to use each time</p>
<div id="gmail-m_388270567170710116mail-app-auto-default-signature">
<p dir="ltr">--<br> Thanks<br> Brian</p>
</div>Friday, 03 July 2020, 05:17PM -07:00 from Jussi Lahtinen <a href="mailto:jussi.lahtinen@gmail.com" target="_blank">jussi.lahtinen@gmail.com</a>:<br><br><blockquote id="gmail-m_388270567170710116mail-app-auto-quote" cite="http://15938218260000018101" style="border-left:1px solid rgb(8,120,189);margin:0px 0px 0px 10px;padding:0px 0px 0px 10px">
<div>
<div>
<div id="gmail-m_388270567170710116style_15938218260000018101_BODY"><div><div dir="ltr"><div>Then perhaps one alternative would be different classes for 32 and 64 bit systems and choose which one to use according to what System.Architecture returns at runtime.</div><div><br></div><div>Jussi<br></div></div><br><div><div><div dir="ltr">On Sat, Jul 4, 2020 at 2:59 AM Brian G <<a href="mailto:brian@westwoodsvcs.com" rel="noopener noreferrer" target="_blank">brian@westwoodsvcs.com</a>> wrote:<br></div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div><p style="margin-top:0px" dir="ltr">Yes that would work, but then I have to figure out the address width myself at compile time.</p>
<p dir="ltr"> I would need to compile for each architecture . </p>
<p dir="ltr"> I was trying to find a way to make the code portable that requires no recompile for SAME OS 32 AND 64 BIT VERSION. The same package can be installed on both versions and call c functions and pass structures without any issues....... So far lol ... with such in-depth testing I have done... Three or four times ... </p>
<p dir="ltr">Pointers are basically unsigned values which match size_t's nominal type and length.</p>
<p dir="ltr">The cint and clong function are signed so it does take a little bit if fiddling to work properly.</p>
<p dir="ltr">More testing needed of course.</p>
<div id="gmail-m_388270567170710116gmail-m_-121753819625621315mail-app-auto-default-signature_mr_css_attr">
<p dir="ltr">--<br> Thanks<br> Brian</p>
</div>Friday, 03 July 2020, 01:40PM -07:00 from Jussi Lahtinen <a href="mailto:jussi.lahtinen@gmail.com" rel="noopener noreferrer" target="_blank">jussi.lahtinen@gmail.com</a>:<br><br><blockquote id="gmail-m_388270567170710116gmail-m_-121753819625621315mail-app-auto-quote_mr_css_attr" cite="http://15938088160000018084" style="border-left:1px solid rgb(8,120,189);margin:0px 0px 0px 10px;padding:0px 0px 0px 10px">
<div>
<div>
<div id="gmail-m_388270567170710116gmail-m_-121753819625621315style_15938088160000018084_BODY_mr_css_attr"><div><div dir="ltr"><div>I would rather use preprocessors to define the variables, but it depends... your way should work.<br></div><div><a href="http://gambaswiki.org/wiki/lang/.if" rel="noopener noreferrer" target="_blank">http://gambaswiki.org/wiki/lang/.if</a></div><div><br></div><div>Jussi<br></div></div><br><div><div><div dir="ltr">On Fri, Jul 3, 2020 at 4:51 AM Brian G <<a href="mailto:brian@westwoodsvcs.com" rel="noopener noreferrer" target="_blank">brian@westwoodsvcs.com</a>> wrote:<br></div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div style="font-family:arial,helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"><div>I replaced all c calls from Gambas3 that required Size_t data type with a pointer type in Gambas and cast the type using cint() or clong() when the value must be used.</div><div><br></div><div>I did this because in most cases size_t follows the width of the address bus by convention.</div><div><br></div><div>This seems to work so far. </div><div><br></div><div>Does anyone have any thoughts on this?</div><div><br></div><div>I would like to get some input about this if anyone have a better idea</div><div><br></div><div>I can't see any where even in the structures I have used that this does not translate well.</div><div><br></div><div>Was playing with the new raspi OS which defaults to 32 bit.</div><div><br></div><div>Thank You<br>Brian G</div></div></div><br>
----[ <a href="http://gambaswiki.org/wiki/doc/netiquette" rel="noopener noreferrer" target="_blank">http://gambaswiki.org/wiki/doc/netiquette</a> ]----<br>
</blockquote></div></div>
</div></div>
<div><br>
----[ <a href="http://gambaswiki.org/wiki/doc/netiquette" rel="noopener noreferrer" target="_blank">http://gambaswiki.org/wiki/doc/netiquette</a> ]----<br>
<br>
</div>
</div>
</div>
</blockquote></div>
<br>
----[ <a href="http://gambaswiki.org/wiki/doc/netiquette" rel="noopener noreferrer" target="_blank">http://gambaswiki.org/wiki/doc/netiquette</a> ]----<br>
</blockquote></div></div>
</div></div>
</div>
</div>
</blockquote></div>
</blockquote></div>