473,405 Members | 2,338 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.

portable typeof macro

rkk
Hi,

Is there an equivalent typeof macro/method to determine the type of a
variable in runtime & most importantly that works well with most known
C compilers?

gcc compiler supports typeof() macro, but the same code is not getting
compiled in solaris forte compiler and in microsoft VS 2003 compiler. I
tried something like below:

#include <stdio.h>

int
main()
{
int i;
typeof(i) j = 10;
i = j + 1;
printf("%d,%d\n",i,j);
return 0;
}

The above code is just a test to see if the compiler supports typeof
macro/method. But only gcc supports it. I then tried __typeof__ which
is described in ISO standards I hope (I'm not sure btw), but again
supported by gcc and not by other compilers.

How does this typeof macro work? Or is there any equivalent
method/macro which is portable or that can be made portable to work
with all well known compilers.

Thanks in advance.

Best Regards
RKK

Dec 26 '06 #1
20 21691
On 25 Dec 2006 21:52:07 -0800, "rkk" <te*******@yahoo.comwrote in
comp.lang.c:
Hi,

Is there an equivalent typeof macro/method to determine the type of a
variable in runtime & most importantly that works well with most known
C compilers?
No, there is no such operator.
gcc compiler supports typeof() macro, but the same code is not getting
compiled in solaris forte compiler and in microsoft VS 2003 compiler. I
tried something like below:

#include <stdio.h>

int
main()
{
int i;
typeof(i) j = 10;
i = j + 1;
printf("%d,%d\n",i,j);
return 0;
}
There is no such thing in C, nor is there any need for such a thing in
C.
The above code is just a test to see if the compiler supports typeof
macro/method. But only gcc supports it. I then tried __typeof__ which
is described in ISO standards I hope (I'm not sure btw), but again
supported by gcc and not by other compilers.
No, there is no __typeof__, or anything equivalent.
How does this typeof macro work? Or is there any equivalent
We have no idea how it works here, because it is not part of the C
language. However, it must be based on information that the compiler
has, and therefore the programmer has -- or can have -- as well.
method/macro which is portable or that can be made portable to work
with all well known compilers.
There is no such thing, but then again there really is no need for
such a thing in C.
Thanks in advance.
You are looking for something that does not exist, so you aren't going
to find it. What you should do is explain the problem you are trying
to solve, that you think you need such a feature would help with. Then
we can suggest ways of solving the problem.

--
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://c-faq.com/
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.learn.c-c++
http://www.contrib.andrew.cmu.edu/~a...FAQ-acllc.html
Dec 26 '06 #2
"rkk" <te*******@yahoo.comwrites:
Is there an equivalent typeof macro/method to determine the type of a
variable in runtime & most importantly that works well with most known
C compilers?

gcc compiler supports typeof() macro, but the same code is not getting
compiled in solaris forte compiler and in microsoft VS 2003 compiler. I
tried something like below:
[snip]

"typeof" is not a macro; it's a gcc-specific keyword. It doesn't
exist in standard C, and there's no portable way to implement it in C.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Dec 26 '06 #3
Jack Klein <ja*******@spamcop.netwrites:
On 25 Dec 2006 21:52:07 -0800, "rkk" <te*******@yahoo.comwrote in
comp.lang.c:
>Hi,

Is there an equivalent typeof macro/method to determine the type of a
variable in runtime & most importantly that works well with most known
C compilers?

No, there is no such operator.
>gcc compiler supports typeof() macro, but the same code is not getting
compiled in solaris forte compiler and in microsoft VS 2003 compiler. I
tried something like below:

#include <stdio.h>

int
main()
{
int i;
typeof(i) j = 10;
i = j + 1;
printf("%d,%d\n",i,j);
return 0;
}

There is no such thing in C, nor is there any need for such a thing in
C.
[...]

Obviously there's no absolute need for it, since we've gotten along
for many years without it. But it could be useful in some contexts.
For example, you could use it to write a type-generic swap macro,
something like (untested code follows):

#define SWAP(a, b) do { \
typeof(a) tmp = a; b = a; a = tmp; \
} while(0)

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Dec 26 '06 #4
Keith Thompson a écrit :
"rkk" <te*******@yahoo.comwrites:
>>Is there an equivalent typeof macro/method to determine the type of a
variable in runtime & most importantly that works well with most known
C compilers?

gcc compiler supports typeof() macro, but the same code is not getting
compiled in solaris forte compiler and in microsoft VS 2003 compiler. I
tried something like below:

[snip]

"typeof" is not a macro; it's a gcc-specific keyword. It doesn't
exist in standard C, and there's no portable way to implement it in C.
It is not "gcc specific". Lcc-win32 supports the typeof macro

:-)
Dec 27 '06 #5
jacob navia <ja***@jacob.remcomp.frwrites:
Keith Thompson a écrit :
[...]
>"typeof" is not a macro; it's a gcc-specific keyword. It doesn't
exist in standard C, and there's no portable way to implement it in C.

It is not "gcc specific". Lcc-win32 supports the typeof macro
Does lcc-win32 really implement "typeof" as a macro? How?
:-)
Or was that a joke?

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Dec 27 '06 #6
Keith Thompson wrote:
Jack Klein <ja*******@spamcop.netwrites:
>There is no such thing in C, nor is there any need for such a thing in
C.
[...]

Obviously there's no absolute need for it, since we've gotten along
for many years without it. But it could be useful in some contexts.
For example, you could use it to write a type-generic swap macro,
something like (untested code follows):

#define SWAP(a, b) do { \
typeof(a) tmp = a; b = a; a = tmp; \
} while(0)
Correct me if I'm wrong, but wouldn't such a macro be limited to only
one appearance per variable scope? Should you use it more than once, you
would also be attempting to define a local variable with the same name
more than once (and possibly a different type also).

--
Denis Kasak
Dec 28 '06 #7
Denis Kasak said:
Keith Thompson wrote:
<snip>
> #define SWAP(a, b) do { \
typeof(a) tmp = a; b = a; a = tmp; \
} while(0)

Correct me if I'm wrong, but wouldn't such a macro be limited to only
one appearance per variable scope? Should you use it more than once, you
would also be attempting to define a local variable with the same name
more than once (and possibly a different type also).
No, that's why it's all wrapped up in a { block scope }. The definition goes
out of scope at the closing brace.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at the above domain, - www.
Dec 28 '06 #8
Richard Heathfield wrote:
Denis Kasak said:
>Keith Thompson wrote:

<snip>
>> #define SWAP(a, b) do { \
typeof(a) tmp = a; b = a; a = tmp; \
} while(0)
Correct me if I'm wrong, but wouldn't such a macro be limited to only
one appearance per variable scope? Should you use it more than once, you
would also be attempting to define a local variable with the same name
more than once (and possibly a different type also).

No, that's why it's all wrapped up in a { block scope }. The definition goes
out of scope at the closing brace.
Right. Silly me. I'll never learn to refrain from posting this late.

--
Denis Kasak

Dec 28 '06 #9
Denis Kasak wrote:
Keith Thompson wrote:
>Jack Klein <ja*******@spamcop.netwrites:
>>There is no such thing in C, nor is there any need for such a
thing in C.
[...]

Obviously there's no absolute need for it, since we've gotten
along for many years without it. But it could be useful in some
contexts. For example, you could use it to write a type-generic
swap macro, something like (untested code follows):

#define SWAP(a, b) do { \
typeof(a) tmp = a; b = a; a = tmp; \
} while(0)

Correct me if I'm wrong, but wouldn't such a macro be limited to
only one appearance per variable scope? Should you use it more
than once, you would also be attempting to define a local variable
with the same name more than once (and possibly a different type
also).
Consider yourself corrected. The declaration of tmp appears within
the block headed by the 'do' keyword, and is strictly local to that
block. After the closing '}' it no longer exists. That's why
Keith has wrapped it in the do while block.

--
Chuck F (cbfalconer at maineline dot net)
Available for consulting/temporary embedded and systems.
<http://cbfalconer.home.att.net>
Dec 28 '06 #10
Keith Thompson a écrit :
jacob navia <ja***@jacob.remcomp.frwrites:
>>Keith Thompson a écrit :

[...]
>>>"typeof" is not a macro; it's a gcc-specific keyword. It doesn't
exist in standard C, and there's no portable way to implement it in C.

It is not "gcc specific". Lcc-win32 supports the typeof macro


Does lcc-win32 really implement "typeof" as a macro? How?

>>:-)


Or was that a joke?
Not as a macro, just as a compiler feature
Dec 28 '06 #11
jacob navia said:
Keith Thompson a écrit :
>jacob navia <ja***@jacob.remcomp.frwrites:
<snip>
>[...] Lcc-win32 supports the typeof macro

Does lcc-win32 really implement "typeof" as a macro? How?
>>>:-)

Or was that a joke?

Not as a macro, just as a compiler feature
Do you mean that it's not a joke as a macro, but *is* a joke as a compiler
feature?

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at the above domain, - www.
Dec 28 '06 #12
rkk
My itention for this question is to design & try something in C which
is close to templates in C++ language. Though void* is sufficient
enough to represent any data type in C, I would like to know if there
is a mechanism or a method in C to know the type of a variable at
runtime. When I googled for the same I came across typeof defined by
gcc. But it is restricted only to gcc and not portable to other
compilers.

But after reading your responses I understand such
operator/method/macro isn't required in C & at runtime a variable can
be manipulated by unsigned char pointers when its size is known, but
its type isn't known.

Thanks for your responses.

Jack Klein wrote:
On 25 Dec 2006 21:52:07 -0800, "rkk" <te*******@yahoo.comwrote in
comp.lang.c:
Hi,

Is there an equivalent typeof macro/method to determine the type of a
variable in runtime & most importantly that works well with most known
C compilers?

No, there is no such operator.
gcc compiler supports typeof() macro, but the same code is not getting
compiled in solaris forte compiler and in microsoft VS 2003 compiler. I
tried something like below:

#include <stdio.h>

int
main()
{
int i;
typeof(i) j = 10;
i = j + 1;
printf("%d,%d\n",i,j);
return 0;
}

There is no such thing in C, nor is there any need for such a thing in
C.
The above code is just a test to see if the compiler supports typeof
macro/method. But only gcc supports it. I then tried __typeof__ which
is described in ISO standards I hope (I'm not sure btw), but again
supported by gcc and not by other compilers.

No, there is no __typeof__, or anything equivalent.
How does this typeof macro work? Or is there any equivalent

We have no idea how it works here, because it is not part of the C
language. However, it must be based on information that the compiler
has, and therefore the programmer has -- or can have -- as well.
method/macro which is portable or that can be made portable to work
with all well known compilers.

There is no such thing, but then again there really is no need for
such a thing in C.
Thanks in advance.

You are looking for something that does not exist, so you aren't going
to find it. What you should do is explain the problem you are trying
to solve, that you think you need such a feature would help with. Then
we can suggest ways of solving the problem.

--
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://c-faq.com/
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.learn.c-c++
http://www.contrib.andrew.cmu.edu/~a...FAQ-acllc.html
Dec 28 '06 #13
CBFalconer wrote:
Denis Kasak wrote:
>Keith Thompson wrote:
>>Jack Klein <ja*******@spamcop.netwrites:

There is no such thing in C, nor is there any need for such a
thing in C.
[...]

Obviously there's no absolute need for it, since we've gotten
along for many years without it. But it could be useful in some
contexts. For example, you could use it to write a type-generic
swap macro, something like (untested code follows):

#define SWAP(a, b) do { \
typeof(a) tmp = a; b = a; a = tmp; \
} while(0)
Correct me if I'm wrong, but wouldn't such a macro be limited to
only one appearance per variable scope? Should you use it more
than once, you would also be attempting to define a local variable
with the same name more than once (and possibly a different type
also).

Consider yourself corrected. The declaration of tmp appears within
the block headed by the 'do' keyword, and is strictly local to that
block. After the closing '}' it no longer exists. That's why
Keith has wrapped it in the do while block.
Thank you for the correction :) I'm still confused as to how I managed
to overlook that.

--
Denis Kasak

Dec 28 '06 #14
Denis Kasak wrote:
Richard Heathfield wrote:
>Denis Kasak said:
>>Keith Thompson wrote:

<snip>
>>> #define SWAP(a, b) do { \
typeof(a) tmp = a; b = a; a = tmp; \
} while(0)
Correct me if I'm wrong, but wouldn't such a macro be limited to only
one appearance per variable scope? Should you use it more than once, you
would also be attempting to define a local variable with the same name
more than once (and possibly a different type also).

No, that's why it's all wrapped up in a { block scope }. The
definition goes out of scope at the closing brace.

Right. Silly me. I'll never learn to refrain from posting this late.
A careful inspection of the macro suggests that the hour
is late for everyone: All it accomplishes, despite the suggestive
name, is to set the second argument equal to the first in an
obfuscated way. Use `typeof(a) tmp = b;' and things would be
a little better.

However, a scope problem remains, even if it isn't exactly
the problem you asked about. For example,

int rmp = 1, smp = 2, tmp = 3;
SWAP(rmp, tmp);

expands (with the corrected macro) to

int rmp = 1, smp = 2, tmp = 3;
do {
int tmp = tmp; tmp = rmp; rmp = tmp;
} while(0);

which is perfectly legal but fails to swap anything at all.
The problem can have noisier manifestations, too:

#define tmp "R:\\ramdisk\\temp"
int whiz = 1, bang = 2;
SWAP(whiz, bang);

The argument for typeof always seems to be "It lets me write
type-generic macros" (and in fact, the example always seems to
be SWAP). But it leaves unsolved the deeper issue of "How do I
avoid identifier aliasing?" Absent a solution to the latter, it
seems to me that such macros are just playthings, not something
that could be used with confidence in "industrial-strength" code.

--
Eric Sosman
es*****@acm-dot-org.invalid
Dec 28 '06 #15
On Tue, 26 Dec 2006 17:34:30 -0600, Keith Thompson wrote
(in article <ln************@nuthaus.mib.org>):
For example, you could use it to write a type-generic swap macro,
something like (untested code follows):

#define SWAP(a, b) do { \
typeof(a) tmp = a; b = a; a = tmp; \
} while(0)
let a =5, b = 10 beforehand...

SWAP(a, b);

So, .... tmp = a, or tmp = 5
then b = a, or b = 5
then a = tmp, or a = 5,

afterward,

a = 5, b = 5

hmmm. very interesting swap operation.

--
Randy Howard (2reply remove FOOBAR)
"The power of accurate observation is called cynicism by those
who have not got it." - George Bernard Shaw

Dec 28 '06 #16
Eric Sosman <es*****@acm-dot-org.invalidwrites:
Denis Kasak wrote:
>Richard Heathfield wrote:
>>Denis Kasak said:

Keith Thompson wrote:

<snip>

#define SWAP(a, b) do { \
typeof(a) tmp = a; b = a; a = tmp; \
} while(0)
Correct me if I'm wrong, but wouldn't such a macro be limited to only
one appearance per variable scope? Should you use it more than once, you
would also be attempting to define a local variable with the same name
more than once (and possibly a different type also).

No, that's why it's all wrapped up in a { block scope }. The
definition goes out of scope at the closing brace.
Right. Silly me. I'll never learn to refrain from posting this late.
Actually, that's not why I wrapped it a block scope. I just used the
"do { ... } while(0)" idiom because it avoids certain problems with
if/else statements; I didn't even think about the scope of tmp. Of
course it addresses the scope problem as well, demonstrating that good
habits can solve problems you didn't even think of.
A careful inspection of the macro suggests that the hour
is late for everyone: All it accomplishes, despite the suggestive
name, is to set the second argument equal to the first in an
obfuscated way. Use `typeof(a) tmp = b;' and things would be
a little better.
Yup.
However, a scope problem remains, even if it isn't exactly
the problem you asked about. For example,

int rmp = 1, smp = 2, tmp = 3;
SWAP(rmp, tmp);

expands (with the corrected macro) to

int rmp = 1, smp = 2, tmp = 3;
do {
int tmp = tmp; tmp = rmp; rmp = tmp;
} while(0);

which is perfectly legal but fails to swap anything at all.
The problem can have noisier manifestations, too:

#define tmp "R:\\ramdisk\\temp"
int whiz = 1, bang = 2;
SWAP(whiz, bang);

The argument for typeof always seems to be "It lets me write
type-generic macros" (and in fact, the example always seems to
be SWAP). But it leaves unsolved the deeper issue of "How do I
avoid identifier aliasing?" Absent a solution to the latter, it
seems to me that such macros are just playthings, not something
that could be used with confidence in "industrial-strength" code.
I think that can be adequately (though not perfectly) addressed by
using a unique name (this time I tested it):

#define SWAP(a, b) do { \
typeof(a) SWAP_tmp = a; a = b; b = SWAP_tmp; \
} while(0)

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Dec 29 '06 #17
Randy Howard <ra*********@FOOverizonBAR.netwrites:
On Tue, 26 Dec 2006 17:34:30 -0600, Keith Thompson wrote
(in article <ln************@nuthaus.mib.org>):
>For example, you could use it to write a type-generic swap macro,
something like (untested code follows):

#define SWAP(a, b) do { \
typeof(a) tmp = a; b = a; a = tmp; \
} while(0)

let a =5, b = 10 beforehand...

SWAP(a, b);

So, .... tmp = a, or tmp = 5
then b = a, or b = 5
then a = tmp, or a = 5,

afterward,

a = 5, b = 5

hmmm. very interesting swap operation.
You see, I *told* you it was untested! 8-)}

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Dec 29 '06 #18
In article <11**********************@i12g2000cwa.googlegroups .com>
rkk <te*******@yahoo.comwrote:
>My itention for this question is to design & try something in C which
is close to templates in C++ language.
Depending on what you mean by "close", this could be anywhere from
trivial to impossible. :-)

C++ templates actually provide a compile-time programming language.
This is not really available in C (although as "ld+", whose name
I forget how to spell and am thus not going to attempt, has shown,
you can come sort of close with C99's variadic preprocessor macros).
See <http://homepage.mac.com/sigfpe/Computing/peano.htmlfor
instance.
--
In-Real-Life: Chris Torek, Wind River Systems
Salt Lake City, UT, USA (40°39.22'N, 111°50.29'W) +1 801 277 2603
email: forget about it http://web.torek.net/torek/index.html
Reading email is like searching for food in the garbage, thanks to spammers.
Jan 1 '07 #19
"jacob navia" <ja***@jacob.remcomp.frwrote in message
news:45***********************@news.orange.fr...
Keith Thompson a écrit :
>"rkk" <te*******@yahoo.comwrites:
>>>Is there an equivalent typeof macro/method to determine the type of a
variable in runtime & most importantly that works well with most
known
C compilers?

gcc compiler supports typeof() macro, but the same code is not
getting
compiled in solaris forte compiler and in microsoft VS 2003 compiler.
I
tried something like below:

"typeof" is not a macro; it's a gcc-specific keyword. It doesn't
exist in standard C, and there's no portable way to implement it in
C.

It is not "gcc specific". Lcc-win32 supports the typeof macro

:-)
s/macro/keyword/

So does ICC (at least on Linux). OTOH, the Intel compiler folks have
made a very determined effort to be a drop-in replacement for GCC and
MSVC in order to gain marketshare.

It's not surprising other compilers don't have it. Once you give
programmers typeof(), they're going to start expecting RTTI like in C++.
People who want C++ should use that, not try to turn C into C++ (again).

S

--
Stephen Sprunk "God does not play dice." --Albert Einstein
CCIE #3723 "God is an inveterate gambler, and He throws the
K5SSS dice at every possible opportunity." --Stephen Hawking
--
Posted via a free Usenet account from http://www.teranews.com

Jan 2 '07 #20
Keith Thompson wrote:
>
Jack Klein <ja*******@spamcop.netwrites:
On 25 Dec 2006 21:52:07 -0800, "rkk" <te*******@yahoo.comwrote in
comp.lang.c:
Hi,

Is there an equivalent typeof macro/method to determine the type of a
variable in runtime & most importantly that works well with most known
C compilers?
No, there is no such operator.
gcc compiler supports typeof() macro, but the same code is not getting
compiled in solaris forte compiler and in microsoft VS 2003 compiler. I
tried something like below:

#include <stdio.h>

int
main()
{
int i;
typeof(i) j = 10;
i = j + 1;
printf("%d,%d\n",i,j);
return 0;
}
There is no such thing in C, nor is there any need for such a thing in
C.
[...]

Obviously there's no absolute need for it, since we've gotten along
for many years without it. But it could be useful in some contexts.
For example, you could use it to write a type-generic swap macro,
something like (untested code follows):

#define SWAP(a, b) do { \
typeof(a) tmp = a; b = a; a = tmp; \
} while(0)
I write that, this way:

#define SWAP(A, B, T) \
((void)(*(T) = *(A), *(A) = *(B), *(B) = *(T)))

I think it's bad style to define objects inside of a macro.

--
pete
Jan 3 '07 #21

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

Similar topics

5
by: Henri Schomäcker | last post by:
Hi folks, I have a quite big class, which I want to use on UNIX-like systems and on win32. Until now, everything is absolutely portable. But now I need to read a directory and use the os...
20
by: Matthias | last post by:
Hello, I am missing certain functionality of std::string, so I am currently writing some helper functions which operate on strings. On of them is as follows (it's actually two functions): ...
0
by: Arkadiy | last post by:
Hi all, In hope that the following may be of some interest here, I am re-posting my latest anouncement on the Boost mailing list: The typeof submission has been updated to include the latest...
4
by: aaronfude | last post by:
Hi, Perhaps this is slightly offtopic. Coming into the Windows world from Unix. Is there a reference on writing C++ libraries in a portable way. For example, right now I'm sticking...
5
by: grid | last post by:
Hi, I recently came across a piece of code like this, ( & ( ( ( some struct * ) 0 ) -> element ) ) ) I had never seen this kind of code being used in any implementations so far, but somehow...
131
by: pemo | last post by:
Is C really portable? And, apologies, but this is possibly a little OT? In c.l.c we often see 'not portable' comments, but I wonder just how portable C apps really are. I don't write...
20
by: William Ahern | last post by:
Thoughts, comments? #ifdef HAVE_TYPEOF /* * Can use arbitrary expressions */ #define alignof(t) \ ((sizeof (t) > 1)? offsetof(struct { char c; typeof(t) x; }, x) : 1)
15
by: Key9 | last post by:
Hi all Q1: On reading source code of STL, I just confuse about why c++ not support such a pesudo code ? //pesudo code int a = new int()£» Typeof(a) b = new Typeof(a)()£»
162
by: Richard Heathfield | last post by:
I found something interesting on the Web today, purely by chance. It would be funny if it weren't so sad. Or sad if it weren't so funny. I'm not sure which. ...
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
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
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
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
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...

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.