473,804 Members | 3,049 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Bus Error asprintf. OS X 10.3.6. gcc 3.3

Hi,

I don't seem to be able to get asprintf to work when compiling under
OS X.

Using the following code:

#include <string.h>
#include <stdio.h>

int main() {

char **w;

asprintf(w,"foo o");

printf("%s\n",* w);

return 0;

}

and compiling using gcc with the -lc and -Wall flags, I get no erros.

The program runs spitting out a Bus Error. The same code on a Linux
machine gcc 3.2.2 compiles and runs as expected.

Any help would be great.

Neil
Nov 14 '05 #1
12 2005
On Fri, 19 Nov 2004 09:18:27 -0800, Neil Dunn wrote:
Hi,

I don't seem to be able to get asprintf to work when compiling under OS
X.

Using the following code:

#include <string.h>
#include <stdio.h>

int main() {

char **w;

asprintf(w,"foo o");

printf("%s\n",* w);

return 0;

}

and compiling using gcc with the -lc and -Wall flags, I get no erros.

The program runs spitting out a Bus Error. The same code on a Linux
machine gcc 3.2.2 compiles and runs as expected.

Any help would be great.

Neil


The asprintf function is a GNU/BSD extension (not Standard C) and not
on-topic here. However, there is a fundamental error in your program that
may is undoubtedly the cause of your issue. The prototype for the
asprintf function is:

int asprintf(char **strp, const char *fmt, ...);

Where strp is the address[0] of a pointer to char which the asprintf
function will set to point to a newly allocated string. You are not
passing the address of a pointer to char, you are passing the value of an
uninitialized pointer to pointer to char. The asprintf takes the value at
the address pointed to by the uninitialized w and changes it to point to
the newly allocated string causing undefined behavior. Here is what you
should be doing:

#include <string.h>
#include <stdio.h>

int main(void) {

char *w;

asprintf(&w,"fo oo");

printf("%s\n",w );

return 0;

}

[0] To be pedantic, this is better articulated as a pointer to pointer to
char and can be written like this:

#include <string.h>
#include <stdio.h>

int main(void) {
char *str;
char **w = &str;
asprintf(w,"foo o");
printf("%s\n",* w);
return 0;
}

This is okay because here w has been properly initialized.

<OT>
Don't forget that at least on Linux you also need to #define _GNU_SOURCE
before #include <stdio.h> to access the prototype for asprintf. </OT>

Rob Gamble
Nov 14 '05 #2
"Robert Gamble:
Neil Dunn: Hi, I don't seem to be able to get asprintf to work when compiling under OS
X.

Using the following code:

#include <string.h>
#include <stdio.h>

int main() {

char **w;

asprintf(w,"foo o");

printf("%s\n",* w);

return 0;

}

and compiling using gcc with the -lc and -Wall flags, I get no erros.

The program runs spitting out a Bus Error. The same code on a Linux
machine gcc 3.2.2 compiles and runs as expected.

Any help would be great.
The asprintf function is a GNU/BSD extension (not Standard C) and not
on-topic here. However, there is a fundamental error in your program that
may is undoubtedly the cause of your issue. The prototype for the
asprintf function is:

int asprintf(char **strp, const char *fmt, ...);
Since this function is OT, might I splice in question, namely, I see how to
PASS crazy looking things like char **tja, but how does one RETURN one of
these funny-looking things? Where strp is the address[0] of a pointer to char which the asprintf
function will set to point to a newly allocated string. You are not
passing the address of a pointer to char, you are passing the value of an
uninitialized pointer to pointer to char. The asprintf takes the value at
the address pointed to by the uninitialized w and changes it to point to
the newly allocated string causing undefined behavior.


What I want to do is call a function of type I_DONT_KNOW that has ints as
identifiers and return a simple, garden-variety pointer. MPJ
Nov 14 '05 #3
On Fri, 19 Nov 2004 12:13:27 -0600, Merrill & Michele wrote:
"Robert Gamble:
> Neil Dunn: Hi, > I don't seem to be able to get asprintf to work when compiling under OS
> X.
>
> Using the following code:
>
> #include <string.h>
> #include <stdio.h>
>
> int main() {
>
> char **w;
>
> asprintf(w,"foo o");
>
> printf("%s\n",* w);
>
> return 0;
>
> }
>
> and compiling using gcc with the -lc and -Wall flags, I get no erros.
>
> The program runs spitting out a Bus Error. The same code on a Linux
> machine gcc 3.2.2 compiles and runs as expected.
>
> Any help would be great.
The asprintf function is a GNU/BSD extension (not Standard C) and not
on-topic here. However, there is a fundamental error in your program that
may is undoubtedly the cause of your issue. The prototype for the
asprintf function is:

int asprintf(char **strp, const char *fmt, ...);

Since this function is OT, might I splice in question, namely, I see how to
PASS crazy looking things like char **tja, but how does one RETURN one of
these funny-looking things?


The same way you return any other type from a function:

char ** myfunc (void) {
char **ptr;

/* Initialize ptr, for example by using malloc */
ptr = NULL;
return ptr;
}
Where strp is the address[0] of a pointer to char which the asprintf
function will set to point to a newly allocated string. You are not
passing the address of a pointer to char, you are passing the value of an
uninitialized pointer to pointer to char. The asprintf takes the value at
the address pointed to by the uninitialized w and changes it to point to
the newly allocated string causing undefined behavior.


What I want to do is call a function of type I_DONT_KNOW that has ints as
identifiers and return a simple, garden-variety pointer. MPJ


I really have no idea what you are asking here, can you clarify? Maybe
you are looking for "void * myfunc (int);" (Really going out on a limb
here).

Rob Gamble
Nov 14 '05 #4

"Robert Gamble" <rg*******@gmai l.com> wrote in message
news:pa******** *************** ***@gmail.com.. .
On Fri, 19 Nov 2004 12:13:27 -0600, Merrill & Michele wrote:
"Robert Gamble:
> Neil Dunn: Hi,

> I don't seem to be able to get asprintf to work when compiling under OS > X.
>
> Using the following code:
>
> #include <string.h>
> #include <stdio.h>
>
> int main() {
>
> char **w;
>
> asprintf(w,"foo o");
>
> printf("%s\n",* w);
>
> return 0;
>
> }
>
> and compiling using gcc with the -lc and -Wall flags, I get no erros.
>
> The program runs spitting out a Bus Error. The same code on a Linux
> machine gcc 3.2.2 compiles and runs as expected.
>
> Any help would be great.

The asprintf function is a GNU/BSD extension (not Standard C) and not
on-topic here. However, there is a fundamental error in your program that may is undoubtedly the cause of your issue. The prototype for the
asprintf function is:

int asprintf(char **strp, const char *fmt, ...);

Since this function is OT, might I splice in question, namely, I see how to
PASS crazy looking things like char **tja, but how does one RETURN one of these funny-looking things?


The same way you return any other type from a function:

char ** myfunc (void) {
char **ptr;

/* Initialize ptr, for example by using malloc */
ptr = NULL;
return ptr;
}
Where strp is the address[0] of a pointer to char which the asprintf
function will set to point to a newly allocated string. You are not
passing the address of a pointer to char, you are passing the value of an uninitialized pointer to pointer to char. The asprintf takes the value at the address pointed to by the uninitialized w and changes it to point to the newly allocated string causing undefined behavior.


What I want to do is call a function of type I_DONT_KNOW that has ints as identifiers and return a simple, garden-variety pointer. MPJ


I really have no idea what you are asking here, can you clarify? Maybe
you are looking for "void * myfunc (int);" (Really going out on a limb
here).

Does such a thing as void * foo(int, int) exist in ANSI C? MPJ
Nov 14 '05 #5
On Fri, 19 Nov 2004 15:23:05 -0600, Merrill & Michele wrote:
> What I want to do is call a function of type I_DONT_KNOW that has ints as > identifiers and return a simple, garden-variety pointer. MPJ


I really have no idea what you are asking here, can you clarify? Maybe
you are looking for "void * myfunc (int);" (Really going out on a limb
here).

Does such a thing as void * foo(int, int) exist in ANSI C? MPJ


You bet. If you can clearly explain what you are trying to do I might
even give you an example.

Rob Gamble

Nov 14 '05 #6
On Fri, 19 Nov 2004 15:23:05 -0600, "Merrill & Michele"
<be********@com cast.net> wrote in comp.lang.c:

"Robert Gamble" <rg*******@gmai l.com> wrote in message
news:pa******** *************** ***@gmail.com.. .
On Fri, 19 Nov 2004 12:13:27 -0600, Merrill & Michele wrote:

> "Robert Gamble:
> > Neil Dunn: Hi,

> > I don't seem to be able to get asprintf to work when compiling under OS> > X.
> >
> > Using the following code:
> >
> > #include <string.h>
> > #include <stdio.h>
> >
> > int main() {
> >
> > char **w;
> >
> > asprintf(w,"foo o");
> >
> > printf("%s\n",* w);
> >
> > return 0;
> >
> > }
> >
> > and compiling using gcc with the -lc and -Wall flags, I get no erros.
> >
> > The program runs spitting out a Bus Error. The same code on a Linux
> > machine gcc 3.2.2 compiles and runs as expected.
> >
> > Any help would be great.

> The asprintf function is a GNU/BSD extension (not Standard C) and not
> on-topic here. However, there is a fundamental error in your program that> may is undoubtedly the cause of your issue. The prototype for the
> asprintf function is:
>
> int asprintf(char **strp, const char *fmt, ...);
>
Since this function is OT, might I splice in question, namely, I see how to PASS crazy looking things like char **tja, but how does one RETURN one of these funny-looking things?


The same way you return any other type from a function:

char ** myfunc (void) {
char **ptr;

/* Initialize ptr, for example by using malloc */
ptr = NULL;
return ptr;
}
> Where strp is the address[0] of a pointer to char which the asprintf
> function will set to point to a newly allocated string. You are not
> passing the address of a pointer to char, you are passing the value of an> uninitialized pointer to pointer to char. The asprintf takes the value at> the address pointed to by the uninitialized w and changes it to point to> the newly allocated string causing undefined behavior.

What I want to do is call a function of type I_DONT_KNOW that has ints as identifiers and return a simple, garden-variety pointer. MPJ


I really have no idea what you are asking here, can you clarify? Maybe
you are looking for "void * myfunc (int);" (Really going out on a limb
here).

Does such a thing as void * foo(int, int) exist in ANSI C? MPJ


Of course. The standard library memory allocation functions malloc(),
calloc(), and realloc() all return a value of type pointer to void.

--
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://www.eskimo.com/~scs/C-faq/top.html
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.l earn.c-c++
http://www.contrib.and rew.cmu.edu/~ajo/docs/FAQ-acllc.html>

Nov 14 '05 #7
"Jack Klein:
"Robert Gamble"
>> int asprintf(char **strp, const char *fmt, ...); > MPJ : Since this function is OT, might I splice in question, namely, I see how
to
> PASS crazy looking things like char **tja, but how does one RETURN
one of
> these funny-looking things?

The same way you return any other type from a function:

char ** myfunc (void) {
char **ptr;

/* Initialize ptr, for example by using malloc */
ptr = NULL;
return ptr;
}

>> Where strp is the address[0] of a pointer to char which the
asprintf >> function will set to point to a newly allocated string. You are not >> passing the address of a pointer to char, you are passing the value of an
>> uninitialized pointer to pointer to char. The asprintf takes the
value at
>> the address pointed to by the uninitialized w and changes it to
point to
>> the newly allocated string causing undefined behavior.
>
> What I want to do is call a function of type I_DONT_KNOW that has
ints as
> identifiers and return a simple, garden-variety pointer. MPJ

I really have no idea what you are asking here, can you clarify?

Maybe you are looking for "void * myfunc (int);" (Really going out on a limb
here).

Does such a thing as void * foo(int, int) exist in ANSI C? MPJ


Of course. The standard library memory allocation functions malloc(),
calloc(), and realloc() all return a value of type pointer to void.


Here's where I'm stuck. Comments and questions below.

#include <stdio.h>
#define FAMSIZ 7
#define MANGO 3
static int *increase(int);
int main(void){
int i,buysfor[FAMSIZ];
/*initialize*/
for (i = 0; i < FAMSIZ; ++ i) buysfor[i] = i;
increase(MANGO) ;
/* to console */
printf(" tja %3d\n", &buysfor[0]);
return 0;
}
static int *increase(int MANGO){
int i;
for (i = 0; i < FAMSIZ; ++ i) buysfor[i] = buysfor[i] + MANGO;
return &buysfor[0];
}

This doesn't compile, but, believe it or not, represents a serious effort on
my part to do so. What I'm trying to do is have a function RETURN a pointer
to an int, in this case, the int is the first element of an integer array.
The compiler hangs on the first line of the 'increase' code. Ideas? MPJ
Nov 14 '05 #8
On Sun, 21 Nov 2004 11:26:05 -0600, Merrill & Michele wrote:
"Jack Klein:
> "Robert Gamble"
> > >> int asprintf(char **strp, const char *fmt, ...); > > > MPJ : Since this function is OT, might I splice in question, namely, I see how > to
> > > PASS crazy looking things like char **tja, but how does one RETURN one > of
> > > these funny-looking things?
> >
> > The same way you return any other type from a function:
> >
> > char ** myfunc (void) {
> > char **ptr;
> >
> > /* Initialize ptr, for example by using malloc */
> > ptr = NULL;
> > return ptr;
> > }
> >
> > >> Where strp is the address[0] of a pointer to char which the asprintf > > >> function will set to point to a newly allocated string. You are not > > >> passing the address of a pointer to char, you are passing the value of > an
> > >> uninitialized pointer to pointer to char. The asprintf takes the value > at
> > >> the address pointed to by the uninitialized w and changes it to point > to
> > >> the newly allocated string causing undefined behavior.
> > >
> > > What I want to do is call a function of type I_DONT_KNOW that has ints > as
> > > identifiers and return a simple, garden-variety pointer. MPJ
> >
> > I really have no idea what you are asking here, can you clarify? Maybe > > you are looking for "void * myfunc (int);" (Really going out on a limb
> > here).
> Does such a thing as void * foo(int, int) exist in ANSI C? MPJ
Of course. The standard library memory allocation functions malloc(),
calloc(), and realloc() all return a value of type pointer to void.


Here's where I'm stuck. Comments and questions below.

#include <stdio.h>
#define FAMSIZ 7
#define MANGO 3
static int *increase(int);
int main(void){
int i,buysfor[FAMSIZ];
/*initialize*/
for (i = 0; i < FAMSIZ; ++ i) buysfor[i] = i;
increase(MANGO) ;
/* to console */
printf(" tja %3d\n", &buysfor[0]);
return 0;
}
static int *increase(int MANGO){
int i;
for (i = 0; i < FAMSIZ; ++ i) buysfor[i] = buysfor[i] + MANGO;
return &buysfor[0];
}

This doesn't compile, but, believe it or not, represents a serious effort on
my part to do so.


If you are going to post your code and ask someone else to go over it for
you, why don't you take a serious effort to make it semi-readable? You
also need to stop with the inane indentifier names, really it's gotten old
and hinders comprehension. This is what I have after some reformatting:

#include <stdio.h>
#define FAMSIZ 7
#define MANGO 3

static int *increase(int);

int main(void) {
int i,buysfor[FAMSIZ];
/*initialize*/
for (i = 0; i < FAMSIZ; ++i) buysfor[i] = i;
increase(MANGO) ;
/* I thought the whole point of this exercise was to be able to
pass a pointer to int back, you aren't even collecting the return
value */
/* to console */
printf(" tja %3d\n", &buysfor[0]);
/* Wrong, you are passing the address of an int, printf is looking
for just an int */
return 0;
}

static int *increase(int MANGO) {
/* This is just so wrong. Remember that just a few lines ago you
defined MANGO to be a macro which expands to 3? Now you are
trying to use it as a variable name? This will expand to (int 3)
which is an error */
int i;
for (i = 0; i < FAMSIZ; ++ i) buysfor[i] = buysfor[i] + MANGO;
/* You never declare buysfor here, the buysfor in main is not
visibible from here */
return &buysfor[0];
}
What I'm trying to do is have a function RETURN a pointer
to an int, in this case, the int is the first element of an integer array.
The compiler hangs on the first line of the 'increase' code. Ideas? MPJ


As you can see from my comments, there are numerious things wrong with
your code. Fixing the above issues and making some other modification
based on your implied intentions yields the following:

#include <stdio.h>
#define FAMSIZ 7
#define MANGO 3

static int *increase(int);

int buysfor[FAMSIZ];

int main(void) {
int i;
int *ptr;
/* initialize */
for (i = 0; i < FAMSIZ; ++i) buysfor[i] = i;
ptr = increase(MANGO) ;
printf("value returned from increase: %3d\n", *ptr);
return 0;
}

static int *increase(int mango) {
int i;
for (i = 0; i < FAMSIZ; ++ i) buysfor[i] += mango;
return &buysfor[0];
}

$ gcc -Wall mmtest.c -o mmtest -ansi -pedantic
$ ./mmtest
value returned from increase: 3
$

If you have any questions about my remarks or the above code, feel free to
ask, but try to be clear and concise.

Rob Gamble
Nov 14 '05 #9
"Robert Gamble"
MPJ :
Since this function is OT, might I splice in question, namely, I see how If you are going to post your code and ask someone else to go over it for
you, why don't you take a serious effort to make it semi-readable? You
also need to stop with the inane indentifier names, really it's gotten old
and hinders comprehension. This is what I have after some reformatting:


Thank you for your response. I take objection that I don't make serious
efforts to communicate and that the indentifiers are inane. Only MANGO has
no pedigree in my posts, and what would I have called it?
ARBITRARY_IDENT IFIER_
FOR_PEDAGOGICAL _PURPOSES_HAVIN G_NO_GREAT_SIGN IFICANCE?
#include <stdio.h>
#define FAMSIZ 7
#define MANGO 3

static int *increase(int);

int main(void) {
int i,buysfor[FAMSIZ];
/*initialize*/
for (i = 0; i < FAMSIZ; ++i) buysfor[i] = i;
increase(MANGO) ;
/* I thought the whole point of this exercise was to be able to
pass a pointer to int back, you aren't even collecting the return
value */
/* to console */
printf(" tja %3d\n", &buysfor[0]);
/* Wrong, you are passing the address of an int, printf is looking
for just an int */
return 0;
}

static int *increase(int MANGO) {
/* This is just so wrong. Remember that just a few lines ago you
defined MANGO to be a macro which expands to 3? Now you are
trying to use it as a variable name? This will expand to (int 3)
which is an error */
int i;
for (i = 0; i < FAMSIZ; ++ i) buysfor[i] = buysfor[i] + MANGO;
/* You never declare buysfor here, the buysfor in main is not
visibible from here */
return &buysfor[0];
}
What I'm trying to do is have a function RETURN a pointer
to an int, in this case, the int is the first element of an integer array. The compiler hangs on the first line of the 'increase' code. Ideas?

There's at least a couple fatal flaws you've discerned here.
As you can see from my comments, there are numerious things wrong with
your code. Fixing the above issues and making some other modification
based on your implied intentions yields the following:

#include <stdio.h>
#define FAMSIZ 7
#define MANGO 3

static int *increase(int);

int buysfor[FAMSIZ];

int main(void) {
int i;
int *ptr;
/* initialize */
for (i = 0; i < FAMSIZ; ++i) buysfor[i] = i;
ptr = increase(MANGO) ;
printf("value returned from increase: %3d\n", *ptr);
return 0;
}

static int *increase(int mango) {
int i;
for (i = 0; i < FAMSIZ; ++ i) buysfor[i] += mango;
return &buysfor[0];
}


Your program builds and behaves as I would think, but does it not fall under
the same criticism that buysfor[] would not be visible in the *increase
function call? Does this not fall under the worst type of undefined
behavior, namely, the type that DOESN'T cause Scott Nudds to fly out of your
hard drive?
#include <stdio.h>
#define FAMSIZ 7
#define MANGO 3

static int *increase(int);

int buysfor[FAMSIZ];

int main(void) {
int i;
int *ptr;
/* initialize */
for (i = 0; i < FAMSIZ; ++i) buysfor[i] = i;
ptr = increase(MANGO) ;
printf("value returned from increase: %8d\n", ptr);
return 0;
}

static int *increase(int mango) {
int i;
for (i = 0; i < FAMSIZ; ++ i) buysfor[i] += mango;
return &buysfor[2];
Furthermore, it was my intention to actually see the address in memory of
some pointer. For that, I'm uncertain what the syntax would be on a printf:
printf("address is %d\n ", ptr); ? MPJ
Nov 14 '05 #10

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

Similar topics

2
4382
by: AIM | last post by:
Error in msvc in building inheritance.obj to build hello.pyd Hello, I am trying to build the boost 1.31.0 sample extension hello.cpp. I can not compile the file inheritance.cpp because the two files containing some templates: adjacency_list.hpp and mem_fn.hpp can not compile. Does anyone have any solutions?
5
16262
by: Tony Wright | last post by:
Hi, I am having a problem installing an msi for a web site. The error message I am getting is: "The specified path 'http://mipdev05/features/Fas2' is unavailable. The Internet Information Server might not be running or the path exists and is redirected to another machine. Please check the status of this virtual directory in the Internet Services Manager."
1
8421
by: Aravind | last post by:
we have two files: 1. rc4.c (defines one function "create_pin()") 2. MyImpl.c(calling the function "create_pin()"),This implements JNI method. 1.When I am trying to create .dll file with one file rc4.obj(rc4.c),it is creating the .dll file without any error. Command : ILINK32 rc4.obj 2.But,when we are trying to create .dll file with two .obj files with following errors.
1
6414
by: yanwan | last post by:
I met this problem in executing a c++ project in visual studio. Does anyone have suggestions to resolve "error lnk 2001"? --------------------Configuration: reconstruction - Win32 Debug-------------------- Linking... icarus_camera.obj : error LNK2001: unresolved external symbol _dgels_ icarus_leastsquares.obj : error LNK2001: unresolved external symbol _dgels_ icarus_maths.obj : error LNK2001: unresolved external symbol _dgels_...
5
5719
by: Enos Meroka | last post by:
Hallo, I am a student doing my project in the university.. I have been trying to compile the program using HP -UX aCC compiler, however I keep on getting the following errors. ================================================================= Error 19: "CORBAManagerMessages.h", line 4 # Unexpected 'std'. using std::string; ^^^
13
6621
by: deko | last post by:
I use this convention frequently: Exit_Here: Exit Sub HandleErr: Select Case Err.Number Case 3163 Resume Next Case 3376 Resume Next
7
5035
by: p | last post by:
WE had a Crystal 8 WebApp using vs 2002 which we upgraded to VS2003. I also have Crystal 9 pro on my development machine. The web app runs fine on my dev machine but am having problems deploying. I created the websetup and built the MSI, have the bundled version. Copied to webserver and ran Websetup.msi. Said I had to remove old version, which I did, then reran WebSetup.msi and keeps giving me this error. "The installer was interrupted...
2
19496
hyperpau
by: hyperpau | last post by:
Before anything else, I am not a very technical expert when it comes to VBA coding. I learned most of what I know by the excellent Access/VBA forum from bytes.com (formerly thescripts.com). Ergo, I will be writing this article intended for those who are in the same level, or maybe lower, of my technical knowledge. I would be using layman's words, or maybe, my own words as how I understand them, hoping, you will understand it the same way that...
0
2897
hyperpau
by: hyperpau | last post by:
Before anything else, I am not a very technical expert when it comes to VBA coding. I learned most of what I know by the excellent Access/VBA forum from bytes.com (formerly thescripts.com). Ergo, I will be writing this article intended for those who are in the same level, or maybe lower, of my technical knowledge. I would be using layman's words, or maybe, my own words as how I understand them, hoping, you will understand it the same way that...
0
9572
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10562
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10070
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9132
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7608
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 presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6845
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5508
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
4282
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
3
2978
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.