473,405 Members | 2,261 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,405 software developers and data experts.

Sharing DLL between threads

Hi:

I've a third party DLL (not a .NET class library PE) which I use using
DllImport attribute in my application running in multiple threads invoking
different methods of the same DLL.

The memory usage of the application is shooting to 1GB in just 30 minutes.
It goes till it's 1.4GB after which I get OutOfMEmory exceptions. If I don't
use the DLL, my memory stays put at 100MB.

I tried freeing the DLL using FreeLibrary but after few seconds I am getting
"Object reference not set to an instance of an object" while accessing the
methods of the DLL.

How can I ensure that only one copy of the DLL per thread is in my
application memory and that the DLL is unloaded when it's no longer used by
any of the threads?

BTW, my application is an ASP.NET web service but this has nothing to do
with the statelessness of a webmethod because I am spawning and running the
threads in the background at application level.

Thanks,
Ram
Nov 23 '05 #1
11 2364
if you use standart PInvokde mechanism: DON'T EVER FREE your LIBRARY
amd it can't be unloaded.
but don't wory, there is, already, one single instance of the DLL in memory
for all thread (of all process!!!)

if you memory goes that up, it's very likely to be a bug in your application

DLL used with standart mechanism won't upload and DON'T EVER call a function
in a FREED Library.
That will crash your program instantly or, worst, cause weird, mysterious,
alien bugs...
On the other hand, with .NET 2.0 you could transform IntPtr (of a function
pointer) to a delegate.
So you could used LoadLibrary/FreeLibrary & GetProcAddress.
But even then, NEVER call into a FREED library.
"Ram P. Dash" <ra****@hotmail.com> wrote in message
news:oC****************@newsread2.news.pas.earthli nk.net...
Hi:

I've a third party DLL (not a .NET class library PE) which I use using
DllImport attribute in my application running in multiple threads invoking
different methods of the same DLL.

The memory usage of the application is shooting to 1GB in just 30 minutes.
It goes till it's 1.4GB after which I get OutOfMEmory exceptions. If I
don't use the DLL, my memory stays put at 100MB.

I tried freeing the DLL using FreeLibrary but after few seconds I am
getting "Object reference not set to an instance of an object" while
accessing the methods of the DLL.

How can I ensure that only one copy of the DLL per thread is in my
application memory and that the DLL is unloaded when it's no longer used
by any of the threads?

BTW, my application is an ASP.NET web service but this has nothing to do
with the statelessness of a webmethod because I am spawning and running
the threads in the background at application level.

Thanks,
Ram

Nov 23 '05 #2
Thanks,

However when I looked at the ProcessModuleCollection somewhere in my code, I
saw the same DLL appear three times in the collection my test environment
(where close to 5 threads run at a time). Doesn't that tell that three
copies of the same DLL is in my application memory?

Thanks,
Ram

"Lloyd Dupont" <net.galador@ld> wrote in message
news:uh**************@tk2msftngp13.phx.gbl...
if you use standart PInvokde mechanism: DON'T EVER FREE your LIBRARY
amd it can't be unloaded.
but don't wory, there is, already, one single instance of the DLL in memory for all thread (of all process!!!)

if you memory goes that up, it's very likely to be a bug in your application
DLL used with standart mechanism won't upload and DON'T EVER call a function in a FREED Library.
That will crash your program instantly or, worst, cause weird, mysterious,
alien bugs...
On the other hand, with .NET 2.0 you could transform IntPtr (of a function
pointer) to a delegate.
So you could used LoadLibrary/FreeLibrary & GetProcAddress.
But even then, NEVER call into a FREED library.
"Ram P. Dash" <ra****@hotmail.com> wrote in message
news:oC****************@newsread2.news.pas.earthli nk.net...
Hi:

I've a third party DLL (not a .NET class library PE) which I use using
DllImport attribute in my application running in multiple threads invoking different methods of the same DLL.

The memory usage of the application is shooting to 1GB in just 30 minutes. It goes till it's 1.4GB after which I get OutOfMEmory exceptions. If I
don't use the DLL, my memory stays put at 100MB.

I tried freeing the DLL using FreeLibrary but after few seconds I am
getting "Object reference not set to an instance of an object" while
accessing the methods of the DLL.

How can I ensure that only one copy of the DLL per thread is in my
application memory and that the DLL is unloaded when it's no longer used
by any of the threads?

BTW, my application is an ASP.NET web service but this has nothing to do
with the statelessness of a webmethod because I am spawning and running
the threads in the background at application level.

Thanks,
Ram


Nov 23 '05 #3
Thanks,

However when I looked at the ProcessModuleCollection somewhere in my code, I
saw the same DLL appear three times in the collection my test environment
(where close to 5 threads run at a time). Doesn't that tell that three
copies of the same DLL is in my application memory?

Thanks,
Ram

"Lloyd Dupont" <net.galador@ld> wrote in message
news:uh**************@tk2msftngp13.phx.gbl...
if you use standart PInvokde mechanism: DON'T EVER FREE your LIBRARY
amd it can't be unloaded.
but don't wory, there is, already, one single instance of the DLL in memory for all thread (of all process!!!)

if you memory goes that up, it's very likely to be a bug in your application
DLL used with standart mechanism won't upload and DON'T EVER call a function in a FREED Library.
That will crash your program instantly or, worst, cause weird, mysterious,
alien bugs...
On the other hand, with .NET 2.0 you could transform IntPtr (of a function
pointer) to a delegate.
So you could used LoadLibrary/FreeLibrary & GetProcAddress.
But even then, NEVER call into a FREED library.
"Ram P. Dash" <ra****@hotmail.com> wrote in message
news:oC****************@newsread2.news.pas.earthli nk.net...
Hi:

I've a third party DLL (not a .NET class library PE) which I use using
DllImport attribute in my application running in multiple threads invoking different methods of the same DLL.

The memory usage of the application is shooting to 1GB in just 30 minutes. It goes till it's 1.4GB after which I get OutOfMEmory exceptions. If I
don't use the DLL, my memory stays put at 100MB.

I tried freeing the DLL using FreeLibrary but after few seconds I am
getting "Object reference not set to an instance of an object" while
accessing the methods of the DLL.

How can I ensure that only one copy of the DLL per thread is in my
application memory and that the DLL is unloaded when it's no longer used
by any of the threads?

BTW, my application is an ASP.NET web service but this has nothing to do
with the statelessness of a webmethod because I am spawning and running
the threads in the background at application level.

Thanks,
Ram


Nov 23 '05 #4
Now this is a classic. The impersonation fails for CASE I but doesn't fail
for CASE II.

Case I:

Client Side Code
-----------------
System.Net.NetworkCredential credential = new
System.Net.NetworkCredential("myUserName", "myPassword", "myDomain");
ServiceA a = new ServiceA();
a.Credentials = credential;
a.SomeMethod();

Server Side Code
------------------
Web.config
-----------
<authentication mode="Windows" />
<identity impersonate="true" />

ServiceA
---------
[WebMethod]
public void SomeMethod() {

// Write to share drive code (the share drive has myUserName in ACL
list, myUserName should be able to write to it)
// But it fails
}

Case II:
Everything being same if I change only the Web.config as follows, it works:

<authentication mode="Windows" />
<identity impersonate="true" userName="myDomain\myUserName"
password="myPassword" />

I've tried the following for CASE I as suggested in
http://support.microsoft.com/default...;en-us;q306158. But nothing
works.

a) Changing the "userName" attribute from "machine" to "system" in
"processModel" node in machine.config
b) Including ASPNET user in following Group Policy:
\Local Computer Policy\Computer Configuration\Windows Settings\Local
Policies\User Rights Assignment\"Act as part of the operating system"

Infrastructure: Windows XP Pro (Service Pack 1); .NET Frmaework 1.0 (No
service pack)

Our corporate policy strongly favors doing things as in CASE I. How can I
make it work?

Thanks,
Ram
Nov 23 '05 #5
Now this is a classic. The impersonation fails for CASE I but doesn't fail
for CASE II.

Case I:

Client Side Code
-----------------
System.Net.NetworkCredential credential = new
System.Net.NetworkCredential("myUserName", "myPassword", "myDomain");
ServiceA a = new ServiceA();
a.Credentials = credential;
a.SomeMethod();

Server Side Code
------------------
Web.config
-----------
<authentication mode="Windows" />
<identity impersonate="true" />

ServiceA
---------
[WebMethod]
public void SomeMethod() {

// Write to share drive code (the share drive has myUserName in ACL
list, myUserName should be able to write to it)
// But it fails
}

Case II:
Everything being same if I change only the Web.config as follows, it works:

<authentication mode="Windows" />
<identity impersonate="true" userName="myDomain\myUserName"
password="myPassword" />

I've tried the following for CASE I as suggested in
http://support.microsoft.com/default...;en-us;q306158. But nothing
works.

a) Changing the "userName" attribute from "machine" to "system" in
"processModel" node in machine.config
b) Including ASPNET user in following Group Policy:
\Local Computer Policy\Computer Configuration\Windows Settings\Local
Policies\User Rights Assignment\"Act as part of the operating system"

Infrastructure: Windows XP Pro (Service Pack 1); .NET Frmaework 1.0 (No
service pack)

Our corporate policy strongly favors doing things as in CASE I. How can I
make it work?

Thanks,
Ram
Nov 23 '05 #6
Case I can only work in a WK2 AD realm with Kerberos delegation set-up
correctly.
However, I'm not entirely clear on your infrastructure, you said Windows XP
SP1, does it mean the client and the webserver and the File server are all
the same machine or are all different machines running XP?
Another remark is that you should apply the SP for the framework, or do you
like the tons of bugs present in v1.0.

Willy.
Note as this is another topic, you should start another thread.
"Ram P. Dash" <ra****@hotmail.com> wrote in message
news:%2******************@TK2MSFTNGP12.phx.gbl...
Now this is a classic. The impersonation fails for CASE I but doesn't fail
for CASE II.

Case I:

Client Side Code
-----------------
System.Net.NetworkCredential credential = new
System.Net.NetworkCredential("myUserName", "myPassword", "myDomain");
ServiceA a = new ServiceA();
a.Credentials = credential;
a.SomeMethod();

Server Side Code
------------------
Web.config
-----------
<authentication mode="Windows" />
<identity impersonate="true" />

ServiceA
---------
[WebMethod]
public void SomeMethod() {

// Write to share drive code (the share drive has myUserName in ACL
list, myUserName should be able to write to it)
// But it fails
}

Case II:
Everything being same if I change only the Web.config as follows, it
works:

<authentication mode="Windows" />
<identity impersonate="true" userName="myDomain\myUserName"
password="myPassword" />

I've tried the following for CASE I as suggested in
http://support.microsoft.com/default...;en-us;q306158. But
nothing
works.

a) Changing the "userName" attribute from "machine" to "system" in
"processModel" node in machine.config
b) Including ASPNET user in following Group Policy:
\Local Computer Policy\Computer Configuration\Windows Settings\Local
Policies\User Rights Assignment\"Act as part of the operating system"

Infrastructure: Windows XP Pro (Service Pack 1); .NET Frmaework 1.0 (No
service pack)

Our corporate policy strongly favors doing things as in CASE I. How can I
make it work?

Thanks,
Ram

Nov 23 '05 #7
Case I can only work in a WK2 AD realm with Kerberos delegation set-up
correctly.
However, I'm not entirely clear on your infrastructure, you said Windows XP
SP1, does it mean the client and the webserver and the File server are all
the same machine or are all different machines running XP?
Another remark is that you should apply the SP for the framework, or do you
like the tons of bugs present in v1.0.

Willy.
Note as this is another topic, you should start another thread.
"Ram P. Dash" <ra****@hotmail.com> wrote in message
news:%2******************@TK2MSFTNGP12.phx.gbl...
Now this is a classic. The impersonation fails for CASE I but doesn't fail
for CASE II.

Case I:

Client Side Code
-----------------
System.Net.NetworkCredential credential = new
System.Net.NetworkCredential("myUserName", "myPassword", "myDomain");
ServiceA a = new ServiceA();
a.Credentials = credential;
a.SomeMethod();

Server Side Code
------------------
Web.config
-----------
<authentication mode="Windows" />
<identity impersonate="true" />

ServiceA
---------
[WebMethod]
public void SomeMethod() {

// Write to share drive code (the share drive has myUserName in ACL
list, myUserName should be able to write to it)
// But it fails
}

Case II:
Everything being same if I change only the Web.config as follows, it
works:

<authentication mode="Windows" />
<identity impersonate="true" userName="myDomain\myUserName"
password="myPassword" />

I've tried the following for CASE I as suggested in
http://support.microsoft.com/default...;en-us;q306158. But
nothing
works.

a) Changing the "userName" attribute from "machine" to "system" in
"processModel" node in machine.config
b) Including ASPNET user in following Group Policy:
\Local Computer Policy\Computer Configuration\Windows Settings\Local
Policies\User Rights Assignment\"Act as part of the operating system"

Infrastructure: Windows XP Pro (Service Pack 1); .NET Frmaework 1.0 (No
service pack)

Our corporate policy strongly favors doing things as in CASE I. How can I
make it work?

Thanks,
Ram

Nov 23 '05 #8
mmh... you makes me wonder.
I haven't used this window much so I'm not sure, but do you have an address
for the DLL, I'll bet, it's the same address everytime.

Theoritically DLL are loaded once and there is a system wide counter
incremented every time they are used and decremented evrytime they are
freed.
normally, all what a process could do is increment this counter.

it's one of the major concept of the DLL, so I kind of doubt XP bug on
this....

"Ram P. Dash" <ra****@hotmail.com> wrote in message
news:uo**************@TK2MSFTNGP15.phx.gbl...
Thanks,

However when I looked at the ProcessModuleCollection somewhere in my code,
I
saw the same DLL appear three times in the collection my test environment
(where close to 5 threads run at a time). Doesn't that tell that three
copies of the same DLL is in my application memory?

Thanks,
Ram

"Lloyd Dupont" <net.galador@ld> wrote in message
news:uh**************@tk2msftngp13.phx.gbl...
if you use standart PInvokde mechanism: DON'T EVER FREE your LIBRARY
amd it can't be unloaded.
but don't wory, there is, already, one single instance of the DLL in

memory
for all thread (of all process!!!)

if you memory goes that up, it's very likely to be a bug in your

application

DLL used with standart mechanism won't upload and DON'T EVER call a

function
in a FREED Library.
That will crash your program instantly or, worst, cause weird,
mysterious,
alien bugs...
On the other hand, with .NET 2.0 you could transform IntPtr (of a
function
pointer) to a delegate.
So you could used LoadLibrary/FreeLibrary & GetProcAddress.
But even then, NEVER call into a FREED library.
"Ram P. Dash" <ra****@hotmail.com> wrote in message
news:oC****************@newsread2.news.pas.earthli nk.net...
> Hi:
>
> I've a third party DLL (not a .NET class library PE) which I use using
> DllImport attribute in my application running in multiple threads invoking > different methods of the same DLL.
>
> The memory usage of the application is shooting to 1GB in just 30 minutes. > It goes till it's 1.4GB after which I get OutOfMEmory exceptions. If I
> don't use the DLL, my memory stays put at 100MB.
>
> I tried freeing the DLL using FreeLibrary but after few seconds I am
> getting "Object reference not set to an instance of an object" while
> accessing the methods of the DLL.
>
> How can I ensure that only one copy of the DLL per thread is in my
> application memory and that the DLL is unloaded when it's no longer
> used
> by any of the threads?
>
> BTW, my application is an ASP.NET web service but this has nothing to
> do
> with the statelessness of a webmethod because I am spawning and running
> the threads in the background at application level.
>
> Thanks,
> Ram
>



Nov 23 '05 #9
mmh... you makes me wonder.
I haven't used this window much so I'm not sure, but do you have an address
for the DLL, I'll bet, it's the same address everytime.

Theoritically DLL are loaded once and there is a system wide counter
incremented every time they are used and decremented evrytime they are
freed.
normally, all what a process could do is increment this counter.

it's one of the major concept of the DLL, so I kind of doubt XP bug on
this....

"Ram P. Dash" <ra****@hotmail.com> wrote in message
news:uo**************@TK2MSFTNGP15.phx.gbl...
Thanks,

However when I looked at the ProcessModuleCollection somewhere in my code,
I
saw the same DLL appear three times in the collection my test environment
(where close to 5 threads run at a time). Doesn't that tell that three
copies of the same DLL is in my application memory?

Thanks,
Ram

"Lloyd Dupont" <net.galador@ld> wrote in message
news:uh**************@tk2msftngp13.phx.gbl...
if you use standart PInvokde mechanism: DON'T EVER FREE your LIBRARY
amd it can't be unloaded.
but don't wory, there is, already, one single instance of the DLL in

memory
for all thread (of all process!!!)

if you memory goes that up, it's very likely to be a bug in your

application

DLL used with standart mechanism won't upload and DON'T EVER call a

function
in a FREED Library.
That will crash your program instantly or, worst, cause weird,
mysterious,
alien bugs...
On the other hand, with .NET 2.0 you could transform IntPtr (of a
function
pointer) to a delegate.
So you could used LoadLibrary/FreeLibrary & GetProcAddress.
But even then, NEVER call into a FREED library.
"Ram P. Dash" <ra****@hotmail.com> wrote in message
news:oC****************@newsread2.news.pas.earthli nk.net...
> Hi:
>
> I've a third party DLL (not a .NET class library PE) which I use using
> DllImport attribute in my application running in multiple threads invoking > different methods of the same DLL.
>
> The memory usage of the application is shooting to 1GB in just 30 minutes. > It goes till it's 1.4GB after which I get OutOfMEmory exceptions. If I
> don't use the DLL, my memory stays put at 100MB.
>
> I tried freeing the DLL using FreeLibrary but after few seconds I am
> getting "Object reference not set to an instance of an object" while
> accessing the methods of the DLL.
>
> How can I ensure that only one copy of the DLL per thread is in my
> application memory and that the DLL is unloaded when it's no longer
> used
> by any of the threads?
>
> BTW, my application is an ASP.NET web service but this has nothing to
> do
> with the statelessness of a webmethod because I am spawning and running
> the threads in the background at application level.
>
> Thanks,
> Ram
>



Nov 23 '05 #10
1) What sort of a dll is this? If a C++ or similar, are you sure it releases
it's memory properly after use?
I had such a problem a while ago... forgot to clean up the c++ dll from my
C# interop wrapper. When you describe your memory leaks, this is the type of
problem I would put my money on.

2) I'm not entirely sure you can freely multithread anything you may want
to. Are you sure the component is thread safe and that the results you're
getting back are ok?

3) In general you could wrap your dll into a managed wrapper that runs as an
EnterpriseServices (COM+) server.
This way it runs out-of process of the main application, you can pool the
objects, and you get object lifetime & recycling control (you can set the
memory limits; e.g. if the mem usage of the object reaches xx megs, kill it,
and use a freshly instantiated object with next call; or put a number of
calls limit on it - the object gets recycled every xx calls).

This is the way to go when you have rogue unmanaged third-party dlls that
don't work quite properly. Sure, you lose some performance, but gain a lot
of stability.
Win Xp or w2k3 are recommended, though, as they use COM+ 1.5 which offers
more features.

Regards,

Sigmund Jakhel
"Ram P. Dash" <ra****@hotmail.com> wrote in message
news:oC****************@newsread2.news.pas.earthli nk.net...
Hi:

I've a third party DLL (not a .NET class library PE) which I use using
DllImport attribute in my application running in multiple threads invoking
different methods of the same DLL.

The memory usage of the application is shooting to 1GB in just 30 minutes.
It goes till it's 1.4GB after which I get OutOfMEmory exceptions. If I
don't use the DLL, my memory stays put at 100MB.

I tried freeing the DLL using FreeLibrary but after few seconds I am
getting "Object reference not set to an instance of an object" while
accessing the methods of the DLL.

How can I ensure that only one copy of the DLL per thread is in my
application memory and that the DLL is unloaded when it's no longer used
by any of the threads?

BTW, my application is an ASP.NET web service but this has nothing to do
with the statelessness of a webmethod because I am spawning and running
the threads in the background at application level.

Thanks,
Ram

Nov 23 '05 #11
1) What sort of a dll is this? If a C++ or similar, are you sure it releases
it's memory properly after use?
I had such a problem a while ago... forgot to clean up the c++ dll from my
C# interop wrapper. When you describe your memory leaks, this is the type of
problem I would put my money on.

2) I'm not entirely sure you can freely multithread anything you may want
to. Are you sure the component is thread safe and that the results you're
getting back are ok?

3) In general you could wrap your dll into a managed wrapper that runs as an
EnterpriseServices (COM+) server.
This way it runs out-of process of the main application, you can pool the
objects, and you get object lifetime & recycling control (you can set the
memory limits; e.g. if the mem usage of the object reaches xx megs, kill it,
and use a freshly instantiated object with next call; or put a number of
calls limit on it - the object gets recycled every xx calls).

This is the way to go when you have rogue unmanaged third-party dlls that
don't work quite properly. Sure, you lose some performance, but gain a lot
of stability.
Win Xp or w2k3 are recommended, though, as they use COM+ 1.5 which offers
more features.

Regards,

Sigmund Jakhel
"Ram P. Dash" <ra****@hotmail.com> wrote in message
news:oC****************@newsread2.news.pas.earthli nk.net...
Hi:

I've a third party DLL (not a .NET class library PE) which I use using
DllImport attribute in my application running in multiple threads invoking
different methods of the same DLL.

The memory usage of the application is shooting to 1GB in just 30 minutes.
It goes till it's 1.4GB after which I get OutOfMEmory exceptions. If I
don't use the DLL, my memory stays put at 100MB.

I tried freeing the DLL using FreeLibrary but after few seconds I am
getting "Object reference not set to an instance of an object" while
accessing the methods of the DLL.

How can I ensure that only one copy of the DLL per thread is in my
application memory and that the DLL is unloaded when it's no longer used
by any of the threads?

BTW, my application is an ASP.NET web service but this has nothing to do
with the statelessness of a webmethod because I am spawning and running
the threads in the background at application level.

Thanks,
Ram

Nov 23 '05 #12

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Dennis Gavrilov | last post by:
Hi, All! I have two questions: strategic and technical. Technical one first: I need to share an array of objects (implemented as hashes, having references to other objects and hashes, sharing...
4
by: Tony Liu | last post by:
Hi, how can I create multiple new file handles of a file without having to share to file to the other processes? I have a file that will be accessed by multiple threads in my application, each...
6
by: Ram P. Dash | last post by:
Hi: I've a third party DLL (not a .NET class library PE) which I use using DllImport attribute in my application running in multiple threads invoking different methods of the same DLL. The...
3
by: vivekian | last post by:
Trying to write an application in linux where two threads share the same object ( primarily a double linked list ) . How do i implement such an object ? Or is there a better way to do this ? ...
6
by: Rajesh | last post by:
Hi, We are tyring to build a DLL which will write the log data to a text file. Multiple executables should use this dll to write data to same text file. We are using a synchronized method...
8
by: mc | last post by:
I would like to be able to send from an ASP.NET page an email which when recieved takes the form of a "Sharing Invitation for a RSS Feed"...
19
by: Zytan | last post by:
I want multiple instances of the same .exe to run and share the same data. I know they all can access the same file at the same time, no problem, but I'd like to have this data in RAM, which they...
3
by: Charlie Brown | last post by:
I have an application that loops through a dataset and retrieves / updates information in rows that meet certain criteria. When the end user clicks a button, the dataset is then merged with the...
1
by: jaleel | last post by:
Hi i want to connect a thirdparty compnent (using APIs) by multiple threads. How can I share the login to this component? If I make a shared instance of the thirdparty component , will it share...
0
by: Dom Rout | last post by:
Hello. Well, this is my first post on any USENET group anywhere, so I hope I get it right. Basically, I just want to get some opinions on a plan of mine for a new project. I want to produce a...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.