473,395 Members | 1,422 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,395 software developers and data experts.

Special C Preprocessing Tool Needed for Pruning of #ifdefs in code

Does any C guru out there know of a C pre-processing tool that will allow
limited pruning of C source based on a single #define variable.

That is, in the code fragment below:

XXX
#ifdef UndesirableTag
YYY
#ifdef TagB
ZZZ
#endif
AAA
#endif
BBB
#ifdef TagC
CCC.
#endif
DDD

If "UndesirableTag" and all of its code is to be removed from a file (with
other #defines in it), then the outer #ifdef and the code all the way to the
2nd #endif inclusive should be removed, but nothing else touched.

Cpp is not suitable because it will remove all the defines and inline the
#includes. Ideally the tool will handle ifdef, ifndef, else, elif, endif,
if Defined, if expr, and nested ifs. We need this for a project with many
source files and many defines in the project.

Anyone know of a tool that will do this, or something close to this?

Any help would be appreciated. Please email to cr*******@rogers.com.

Thanks and best regards.
Nov 14 '05 #1
20 1898
On Mon, 10 Jan 2005 23:36:56 -0500, jvankay
<jv*****@rogers.com> wrote:
Does any C guru out there know of a C pre-processing tool that will allow
limited pruning of C source based on a single #define variable.

That is, in the code fragment below:

XXX
#ifdef UndesirableTag
YYY
#ifdef TagB
ZZZ
#endif
AAA
#endif
BBB
#ifdef TagC
CCC.
#endif
DDD

If "UndesirableTag" and all of its code is to be removed from a file (with
other #defines in it), then the outer #ifdef and the code all the way to the
2nd #endif inclusive should be removed, but nothing else touched.
Yes. You can look for things called rmif and scpp, if you can get them
to compile and run on your system. Or I have one which I wrote
recently:

http://www.keristor.co.uk/stuff/xcpp-0.4.0.tar.gz

Mine is ISO C89 (other versions are pre-ISO, as I recall). It's coped
with everything I've thrown at it, I'd be interested if you find any
bugs in it or any problems compiling it on some platform, I'd like to
fix them if found. It also handles things like limits.h, float.h and
autoconf type config.h files which use #define and #undef, which the
others don't, as well as -D and -U to defined and undefine macros. It
doesn't hadle macros with varargs but I doubt you want that...
Cpp is not suitable because it will remove all the defines and inline the
#includes. Ideally the tool will handle ifdef, ifndef, else, elif, endif,
if Defined, if expr, and nested ifs. We need this for a project with many
source files and many defines in the project.
Yup, that's what mine is designed for. It's released as Free Software
(Zlib type licence).
Anyone know of a tool that will do this, or something close to this?

Any help would be appreciated. Please email to cr*******@rogers.com.


Emailed as well as posted.

Chris C
Nov 14 '05 #2
On Tue, 11 Jan 2005 08:53:01 +0000, Chris Croughton
<ch***@keristor.net> wrote:
On Mon, 10 Jan 2005 23:36:56 -0500, jvankay
<jv*****@rogers.com> wrote:
Does any C guru out there know of a C pre-processing tool that will allow
limited pruning of C source based on a single #define variable.


Yes. You can look for things called rmif and scpp, if you can get them
to compile and run on your system. Or I have one which I wrote
recently:

http://www.keristor.co.uk/stuff/xcpp-0.4.0.tar.gz


Oops, that should be

http://www.keristor.co.uk/stuff/xcpp-0.5.0.tar.gz

I fixed some bugs and uploaded it to the website but didn't regenerate
my web page to indicate the latest version.

Emailed as well as posted.

Chris C
Nov 14 '05 #3
"jvankay" <jv*****@rogers.com> wrote in message
news:we********************@rogers.com...
Does any C guru out there know of a C pre-processing tool that will allow
limited pruning of C source based on a single #define variable.

That is, in the code fragment below:

XXX
#ifdef UndesirableTag
YYY
#ifdef TagB
ZZZ
#endif
AAA
#endif
BBB
#ifdef TagC
CCC.
#endif
DDD

If "UndesirableTag" and all of its code is to be removed from a file (with
other #defines in it), then the outer #ifdef and the code all the way to the 2nd #endif inclusive should be removed, but nothing else touched.

Cpp is not suitable because it will remove all the defines and inline the
#includes. Ideally the tool will handle ifdef, ifndef, else, elif, endif,
if Defined, if expr, and nested ifs. We need this for a project with many
source files and many defines in the project.

Anyone know of a tool that will do this, or something close to this?


See http://www.semanticdesigns.com/Products/Tools.html

-- IDB
Nov 14 '05 #4
Thank you very much Chris,

We will try yours out

Regards,

Joseph V.

"Chris Croughton" <ch***@keristor.net> wrote in message
news:sl******************@ccserver.keris.net...
On Tue, 11 Jan 2005 08:53:01 +0000, Chris Croughton
<ch***@keristor.net> wrote:
On Mon, 10 Jan 2005 23:36:56 -0500, jvankay
<jv*****@rogers.com> wrote:
Does any C guru out there know of a C pre-processing tool that will allow limited pruning of C source based on a single #define variable.


Yes. You can look for things called rmif and scpp, if you can get them
to compile and run on your system. Or I have one which I wrote
recently:

http://www.keristor.co.uk/stuff/xcpp-0.4.0.tar.gz


Oops, that should be

http://www.keristor.co.uk/stuff/xcpp-0.5.0.tar.gz

I fixed some bugs and uploaded it to the website but didn't regenerate
my web page to indicate the latest version.

Emailed as well as posted.

Chris C

Nov 14 '05 #5
Thank you Chris. We will try out your tool on some nasty code

Regards,

Joseph V.

"Chris Croughton" <ch***@keristor.net> wrote in message
news:sl******************@ccserver.keris.net...
On Tue, 11 Jan 2005 08:53:01 +0000, Chris Croughton
<ch***@keristor.net> wrote:
On Mon, 10 Jan 2005 23:36:56 -0500, jvankay
<jv*****@rogers.com> wrote:
Does any C guru out there know of a C pre-processing tool that will allow limited pruning of C source based on a single #define variable.


Yes. You can look for things called rmif and scpp, if you can get them
to compile and run on your system. Or I have one which I wrote
recently:

http://www.keristor.co.uk/stuff/xcpp-0.4.0.tar.gz


Oops, that should be

http://www.keristor.co.uk/stuff/xcpp-0.5.0.tar.gz

I fixed some bugs and uploaded it to the website but didn't regenerate
my web page to indicate the latest version.

Emailed as well as posted.

Chris C

Nov 14 '05 #6
Chris Croughton wrote:
<ch***@keristor.net> wrote:
<jv*****@rogers.com> wrote:
Does any C guru out there know of a C pre-processing tool that
will allow limited pruning of C source based on a single #define
variable.


Yes. You can look for things called rmif and scpp, if you can
get them to compile and run on your system. Or I have one which
I wrote recently:

http://www.keristor.co.uk/stuff/xcpp-0.4.0.tar.gz


Oops, that should be

http://www.keristor.co.uk/stuff/xcpp-0.5.0.tar.gz

I fixed some bugs and uploaded it to the website but didn't
regenerate my web page to indicate the latest version.


You may or may not be interested to know that it compiled out of
the box under DJGPP. However note the warnings below. I haven't
attempted to do anything about them. Offhand it looks like a well
done piece.

It would also be pleasant to have the man page in info format.

c:\dnld\scratch\junk>make
gcc -g -Wall -W -pedantic -ansi -c -o xcpp.o xcpp.c
xcpp.c: In function `tracemem':
xcpp.c:2712: warning: int format, long unsigned int arg (arg 3)
xcpp.c:2713: warning: int format, long unsigned int arg (arg 3)
xcpp.c:2714: warning: int format, long unsigned int arg (arg 3)
xcpp.c:2716: warning: int format, long unsigned int arg (arg 3)
xcpp.c: In function `main':
xcpp.c:2811: warning: int format, long unsigned int arg (arg 3)
gcc -g -Wall -W -pedantic -ansi -c -o xcppopt.o xcppopt.c
gcc -g -Wall -W -pedantic -ansi -c -o xcppmem.o xcppmem.c
gcc -g -Wall -W -pedantic -ansi -c -o xcppmath.o xcppmath.c
gcc -g -Wall -W -pedantic -ansi -o xcpp xcpp.o xcppopt.o xcppmem.o
xcppmath.o

You might also want to look on my page (URL below), download
section, for id2id-20.zip. It contains a simple technique for
automatic help when stdin on filters has not been redirected.
Steal it.

--
Chuck F (cb********@yahoo.com) (cb********@worldnet.att.net)
Available for consulting/temporary embedded and systems.
<http://cbfalconer.home.att.net> USE worldnet address!

Nov 14 '05 #7
On Wed, 12 Jan 2005 07:05:18 GMT, CBFalconer
<cb********@yahoo.com> wrote:
Chris Croughton wrote:
<ch***@keristor.net> wrote:
<jv*****@rogers.com> wrote:

Does any C guru out there know of a C pre-processing tool that
will allow limited pruning of C source based on a single #define
variable.

Yes. You can look for things called rmif and scpp, if you can
get them to compile and run on your system. Or I have one which
I wrote recently:

http://www.keristor.co.uk/stuff/xcpp-0.4.0.tar.gz
Oops, that should be

http://www.keristor.co.uk/stuff/xcpp-0.5.0.tar.gz

I fixed some bugs and uploaded it to the website but didn't
regenerate my web page to indicate the latest version.


You may or may not be interested to know that it compiled out of
the box under DJGPP. However note the warnings below. I haven't
attempted to do anything about them. Offhand it looks like a well
done piece.


Thanks. DJGPP is a version of gcc, so it should have compiled, but it
probably has different memory options from the Linux and Cygwin
versions. Borland C 5.6 gives a load of warnings about unused variables
which I need to check sometime (and I may include a Borland makefile
with the next version).
It would also be pleasant to have the man page in info format.
I'll have to learn the texinfo stuff sometime. Or there might be a tool
which does the conversion.
c:\dnld\scratch\junk>make
gcc -g -Wall -W -pedantic -ansi -c -o xcpp.o xcpp.c
xcpp.c: In function `tracemem':
xcpp.c:2712: warning: int format, long unsigned int arg (arg 3)
xcpp.c:2713: warning: int format, long unsigned int arg (arg 3)
xcpp.c:2714: warning: int format, long unsigned int arg (arg 3)
xcpp.c:2716: warning: int format, long unsigned int arg (arg 3)
xcpp.c: In function `main':
xcpp.c:2811: warning: int format, long unsigned int arg (arg 3)
Ah yes. I wonder why gcc didn't report them for me. Which version of
gcc are you using (which base version, that is)? Neither 2.95.4 (Debian
GNU/Linux) nor 3.3.3 (Cygwin) produce any of those warnings with those
options. Which is odd, since I know I've seen gcc complain about printf
mismatches before. Perhaps they don't care because long and int are the
same size on those platforms?
gcc -g -Wall -W -pedantic -ansi -c -o xcppopt.o xcppopt.c
gcc -g -Wall -W -pedantic -ansi -c -o xcppmem.o xcppmem.c
gcc -g -Wall -W -pedantic -ansi -c -o xcppmath.o xcppmath.c
gcc -g -Wall -W -pedantic -ansi -o xcpp xcpp.o xcppopt.o xcppmem.o
xcppmath.o

You might also want to look on my page (URL below), download
section, for id2id-20.zip. It contains a simple technique for
automatic help when stdin on filters has not been redirected.
Steal it.


It seems to use non-C POSIX functions fileno() and isatty() to determine
whether stdin has been redirected, which makes it not standard C (it's
not often I get to tease /you/ about being off-topic <g>). AS far as I
know there is no portable way to do it. I might just disable the
automatic filter mode since an argument of just '-' means "use stdin"
anyway (indeed, when it finds there are no arguments it just calls the
function which does the work with "-").

Chris C
Nov 14 '05 #8
Chris Croughton wrote:
<cb********@yahoo.com> wrote:

.... snip ...

You might also want to look on my page (URL below), download
section, for id2id-20.zip. It contains a simple technique for
automatic help when stdin on filters has not been redirected.

Steal it.

It seems to use non-C POSIX functions fileno() and isatty() to
determine whether stdin has been redirected, which makes it not
standard C (it's not often I get to tease /you/ about being
off-topic <g>). AS far as I know there is no portable way to
do it. I might just disable the automatic filter mode since an
argument of just '-' means "use stdin" anyway (indeed, when it
finds there are no arguments it just calls the function which
does the work with "-").


The routine is labelled as non-standard, but organized to co-exist
with the -pedantic option. If it can't be used on a system all you
have to do is return 0 from a replacement routine, and you are back
to the existing situation. At any rate, most of the time our
systems are running on something that has Posix functions
available, and this takes advantage of that without insisting on
it.

The other way you have to put in code to handle the '-' and
remember to use that argument in any chained commands, etc.

"something | operate thing"

is easier to remember or create than

"something | operate thing -"

especially when you are used to using operate with redirection.

--
Chuck F (cb********@yahoo.com) (cb********@worldnet.att.net)
Available for consulting/temporary embedded and systems.
<http://cbfalconer.home.att.net> USE worldnet address!
Nov 14 '05 #9
Chris Croughton <ch***@keristor.net> writes:
[...]
Oops, that should be

http://www.keristor.co.uk/stuff/xcpp-0.5.0.tar.gz


I haven't tried it, but I did download it, and the packaging is a bit
odd. Generally a tarball named "xcpp-0.5.0.tar.gz" should contain a
directory called "xcpp-0.5.0"; yours contains all the files directly.
Also, one of the files is called "xcpp-0.5.0.tar.gz", which causes
problems when I unpack it into the current directory.

--
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.
Nov 14 '05 #10
On Wed, 12 Jan 2005 01:34:31 -0500, jvankay
<jv*****@rogers.com> wrote:
Thank you very much Chris,

We will try yours out


I've found and fixed a bug with nested #else when the code was being
compiled out, removed the warnings some compilers gave, and the tar now
extracts to a subdirectory (as Keith pointed out) and doesn't contain
the previous targzball.

http://www.keristor.co.uk/stuff/xcpp-0.5.2.tar.gz

(Posted and mailed)

Chris C
Nov 14 '05 #11
Chris Croughton wrote:
.... snip ...
I've found and fixed a bug with nested #else when the code was being
compiled out, removed the warnings some compilers gave, and the tar
now extracts to a subdirectory (as Keith pointed out) and doesn't
contain the previous targzball.

http://www.keristor.co.uk/stuff/xcpp-0.5.2.tar.gz


Grabbed it but haven't looked inside. For some reason it arrives
here with an extra .tar appended to the filename. The other thing
is why is it so much smaller than the previous?

1-11-05 17:46 70,443 xcpp-0.5.0.tar.gz
1-17-05 21:57 33,307 xcpp-0.5.2.tar.gz

I ran your older one with --version (nothing happened) and with -h,
which told me something, but not the version. Neither did -V. :-(

--
"If you want to post a followup via groups.google.com, don't use
the broken "Reply" link at the bottom of the article. Click on
"show options" at the top of the article, then click on the
"Reply" at the bottom of the article headers." - Keith Thompson
Nov 14 '05 #12
CBFalconer <cb********@yahoo.com> writes:
Chris Croughton wrote:
... snip ...

I've found and fixed a bug with nested #else when the code was being
compiled out, removed the warnings some compilers gave, and the tar
now extracts to a subdirectory (as Keith pointed out) and doesn't
contain the previous targzball.

http://www.keristor.co.uk/stuff/xcpp-0.5.2.tar.gz


Grabbed it but haven't looked inside. For some reason it arrives
here with an extra .tar appended to the filename.


It works for me. (I used "wget" to download it; maybe your browser is
doing something funny.)
The other thing
is why is it so much smaller than the previous?

1-11-05 17:46 70,443 xcpp-0.5.0.tar.gz
1-17-05 21:57 33,307 xcpp-0.5.2.tar.gz


The previous one had an extraneous copy of xcpp-0.5.0.tar.gz within
it. (Presumably not an identical copy, but I didn't check.)

--
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.
Nov 14 '05 #13
On Tue, 18 Jan 2005 04:54:59 GMT, CBFalconer
<cb********@yahoo.com> wrote:
Chris Croughton wrote:
... snip ...

I've found and fixed a bug with nested #else when the code was being
compiled out, removed the warnings some compilers gave, and the tar
now extracts to a subdirectory (as Keith pointed out) and doesn't
contain the previous targzball.

http://www.keristor.co.uk/stuff/xcpp-0.5.2.tar.gz


Grabbed it but haven't looked inside. For some reason it arrives
here with an extra .tar appended to the filename.


What are you using to fetch it? I've used both wget and Firefox, both
get it with the correct name.
The other thing is why is it so much smaller than the previous?
Because the previous one contained the previous targzball (34k
uncompressable).
1-11-05 17:46 70,443 xcpp-0.5.0.tar.gz
1-17-05 21:57 33,307 xcpp-0.5.2.tar.gz

I ran your older one with --version (nothing happened) and with -h,
which told me something, but not the version. Neither did -V. :-(


True, --version/-V is one of the bits not implemented yet <g>. Along
with decent help (all it does at present is list the options with no
other information; my C++ help system can handle option types (whether
they accept values etc.), do word wrapping on text for each option,
etc., but I haven't rewritten it in C).

Chris C
Nov 14 '05 #14
On Tue, 18 Jan 2005 12:04:40 +0000, Chris Croughton
<ch***@keristor.net> wrote:
On Tue, 18 Jan 2005 04:54:59 GMT, CBFalconer
<cb********@yahoo.com> wrote:
I ran your older one with --version (nothing happened) and with -h,
which told me something, but not the version. Neither did -V. :-(


True, --version/-V is one of the bits not implemented yet <g>. Along
with decent help (all it does at present is list the options with no
other information; my C++ help system can handle option types (whether
they accept values etc.), do word wrapping on text for each option,
etc., but I haven't rewritten it in C).


OK, -V/--version now displays the version number, and -h/--help displays
a much expanded help page, including word wrapping and formatting for
the option descriptions (I'll be pinching that code to use elsewhere,
it's actually superior in some ways to my C++ version).

http://www.keristor.co.uk/stuff/xcpp-0.5.4.tar.gz

Chris C
Nov 14 '05 #15
Chris Croughton <ch***@keristor.net> writes:
[...]
http://www.keristor.co.uk/stuff/xcpp-0.5.4.tar.gz


It's not there.

--
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.
Nov 14 '05 #16
On Wed, 19 Jan 2005 01:04:51 GMT, Keith Thompson
<ks***@mib.org> wrote:
Chris Croughton <ch***@keristor.net> writes:
[...]
http://www.keristor.co.uk/stuff/xcpp-0.5.4.tar.gz


It's not there.


Hmm, I don't know why it didn't get there, it got to my other servers
and I didn't see an error from sitecpoy. I've just forced an upload and
verified that I can fetch it from there now...

Chris C
Nov 14 '05 #17
Chris Croughton wrote:
<ks***@mib.org> wrote:
Chris Croughton <ch***@keristor.net> writes:
[...]
http://www.keristor.co.uk/stuff/xcpp-0.5.4.tar.gz


It's not there.


Hmm, I don't know why it didn't get there, it got to my other servers
and I didn't see an error from sitecpoy. I've just forced an upload and
verified that I can fetch it from there now...


0.5.4 isn't there, but 0.5.3 is.

--
"If you want to post a followup via groups.google.com, don't use
the broken "Reply" link at the bottom of the article. Click on
"show options" at the top of the article, then click on the
"Reply" at the bottom of the article headers." - Keith Thompson

Nov 14 '05 #18
On Wed, 19 Jan 2005 13:02:58 GMT, CBFalconer
<cb********@yahoo.com> wrote:
Chris Croughton wrote:
<ks***@mib.org> wrote:
Chris Croughton <ch***@keristor.net> writes:
[...]
http://www.keristor.co.uk/stuff/xcpp-0.5.4.tar.gz

It's not there.


Hmm, I don't know why it didn't get there, it got to my other servers
and I didn't see an error from sitecpoy. I've just forced an upload and
verified that I can fetch it from there now...


0.5.4 isn't there, but 0.5.3 is.


I just fetched 0.5.4 using the URL above from my work machine using
Firefox, it's there...

Chris C
Nov 14 '05 #19
Chris Croughton <ch***@keristor.net> wrote:
On Wed, 19 Jan 2005 13:02:58 GMT, CBFalconer
<cb********@yahoo.com> wrote:
Chris Croughton wrote:
<ks***@mib.org> wrote:
Chris Croughton <ch***@keristor.net> writes:
[...]
> http://www.keristor.co.uk/stuff/xcpp-0.5.4.tar.gz

It's not there.

Hmm, I don't know why it didn't get there, it got to my other servers
and I didn't see an error from sitecpoy. I've just forced an upload and
verified that I can fetch it from there now...


0.5.4 isn't there, but 0.5.3 is.


I just fetched 0.5.4 using the URL above from my work machine using
Firefox, it's there...


Just FTR, it exists for me as well, using Opera. This means that it's
not just visible from within keristor.whatever.

Richard
Nov 14 '05 #20
Chris Croughton wrote:
<cb********@yahoo.com> wrote:
Chris Croughton wrote:
<ks***@mib.org> wrote:
Chris Croughton <ch***@keristor.net> writes:
[...]
> http://www.keristor.co.uk/stuff/xcpp-0.5.4.tar.gz

It's not there.

Hmm, I don't know why it didn't get there, it got to my other
servers and I didn't see an error from sitecpoy. I've just
forced an upload and verified that I can fetch it from there now...


0.5.4 isn't there, but 0.5.3 is.


I just fetched 0.5.4 using the URL above from my work machine using
Firefox, it's there...


It is now, it wasn't then.

--
"If you want to post a followup via groups.google.com, don't use
the broken "Reply" link at the bottom of the article. Click on
"show options" at the top of the article, then click on the
"Reply" at the bottom of the article headers." - Keith Thompson
Nov 14 '05 #21

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

Similar topics

125
by: Sarah Tanembaum | last post by:
Beside its an opensource and supported by community, what's the fundamental differences between PostgreSQL and those high-price commercial database (and some are bloated such as Oracle) from...
1
by: Alex Sedow | last post by:
Where to get/buy tool for partial preprocessing? 1. What I mean by partial macro preprocessing. This is mode in which almost sources (>99%) is not preprocessed. But some macros (setted by...
18
by: David Frank | last post by:
Is there a preprocessor (or utility) that has option to insert absent braces to clarify control syntax, ie for/while/if/else/etc ? for(.....) for(....) statement; to
12
by: Thomas Carter | last post by:
Imagine that there is some include file f.h that contains the following line: typedef unsigned int ui32 ; My question is: If I have a C source file F.c that includes f.h, is it possible for...
4
by: Henrik Goldman | last post by:
I have an application which compiles on a number of different platforms. Now I'm trying to incorporate an external library which is only available to a subset of the platforms that my application...
5
by: Francois Grieu | last post by:
One of the C compiler that I use <OT>(Keil's CX51)</OTbarks at #define a(b) b int main(void){return a( #if 0 #endif 0);} More generally, this compiler seems confused by any preprocessing...
4
by: Pedro Graca | last post by:
Is there a way (preprocessor magic, perhaps ???) to use a type with twice as many bits as `unsigned` (or `int`) with no changes to the source code? ==== #define SINGLE_TYPE unsigned #define...
6
by: jim | last post by:
I'd like to build my own drag and drop web page editor. Are there any components out there that already handle CSS, PHP, XHTML and Javascript validation? And, are there any components that...
40
by: Bill Cunningham | last post by:
I have been thinking about hiding headers from my compiler's preprocessor and allowing others to be shown. I want to use the most used and add others is necessary. Would this be how it is properly...
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: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
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
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
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
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
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...

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.