Sponsored Content
Full Discussion: C code : Segmentation fault
Top Forums Programming C code : Segmentation fault Post 302492414 by Corona688 on Monday 31st of January 2011 10:15:38 AM
Old 01-31-2011
What is your system?

What is your compiler?

In gcc/linux, compile with -ggdb and run with gdb ./a.out, then type 'run', and when it crashes, type 'bt full' to show where it crashed.

Also: Listen to the warnings the compiler gives you. to wit:

Code:
definitions.h:10: warning: 'SRC_DIR' initialized and declared 'extern'
definitions.h:11: warning: 'LOG_DIR' initialized and declared 'extern'
definitions.h:12: warning: 'TMP_DIR' initialized and declared 'extern'
definitions.h:13: warning: 'ARCH_DIR' initialized and declared 'extern'
definitions.h:16: warning: 'LOG_NAME' initialized and declared 'extern'
definitions.h:17: warning: 'FIELD_SEP' initialized and declared 'extern'
definitions.h:18: warning: 'LOG_EXT' initialized and declared 'extern'
definitions.h:19: warning: 'TMP_EXT' initialized and declared 'extern'
definitions.h:20: warning: 'TRG_EXT' initialized and declared 'extern'
definitions.h:21: warning: 'ARCH_EXT' initialized and declared 'extern'
definitions.h:22: warning: 'DIR_SEP' initialized and declared 'extern'
port.c: In function 'main':
port.c:80: warning: format '%s' expects type 'char *', but argument 2 has type 'char **'
port.c:14: warning: unused variable 'target_stream'

header files don't work that way, and extern doesn't work that way. You either want to do

Code:
#define SRC_DIR "/home/hhulaman/1516/source/"

or
Code:
extern char * SRC_DIR;

with an accompanying
Code:
#include "definitions.h"
char *SRC_DIR="/home/hhulaman/1516/source/";

in definitions.c. This prevents the variable from being redefined 19 times if it's included in 19 seperate C files.

Better yet, make them constant, so you can't overwrite them accidentally:
Code:
extern const char const * SRC_DIR;


Last edited by Corona688; 01-31-2011 at 11:22 AM..
 

10 More Discussions You Might Find Interesting

1. Programming

segmentation fault

sometimes for this code i get a segmentation fault for codes llike this : int main{ int * a= 0; int b; a = (int*)malloc(sizeof(int)); ///some code using these variable but no freeing of a if(a){ free(a); a = 0; } return... (3 Replies)
Discussion started by: wojtyla
3 Replies

2. Programming

Hi! segmentation fault

I have written a program which takes a directory as command line arguments and displays all the dir and files in it. I don't know why I have a problem with the /etc directory.It displays all the directories and files untill it reaches a sub directory called peers which is in /etc/ppp/peers.the... (4 Replies)
Discussion started by: vijlak
4 Replies

3. Programming

segmentation fault

If I do this. Assume struct life { char *nolife; } struct life **life; // malloc initialization & everything if(life->nolife == 0) Would I get error at life->nolife if it is equal to 0. wrong accession? (3 Replies)
Discussion started by: joey
3 Replies

4. AIX

Segmentation fault in nsgetcinfo in aix 64-bit c code

Hello, I am running on a AIX5.2 server with Oracle 10g and 9i. My code compiles and works fine in 32-bit mode. The same code compiles in 64-bit and runs good. The program catches CNTRL-C signal to terminate. Only on 64-bit code when i hit CNTRL-C, the program exits with segmentation... (0 Replies)
Discussion started by: sumesh0710
0 Replies

5. Programming

segmentation fault

Hi, I am having this segmentation fault not in the following program, bt. in my lab program . My lab program is horrible long so cannot post it here bt. I am using the following logic in my program which is giving the segmentation fault. Bt. if I run this sample program as it is it dosen't give... (3 Replies)
Discussion started by: mind@work
3 Replies

6. Programming

Using gdb, ignore beginning segmentation fault until reproduce environment segmentation fault

I use a binary name (ie polo) it gets some parameter , so for debugging normally i do this : i wrote script for watchdog my app (polo) and check every second if it's not running then start it , the problem is , if my app , remain in state of segmentation fault for a while (ie 15 ... (6 Replies)
Discussion started by: pooyair
6 Replies

7. Programming

This code keeps giving me a segmentation fault why?

#include<stdlib.h> #include <pthread.h> #include "tlpi_hdr.h" #include <stdio.h> static volatile int glob = 0; static struct { pthread_t t1,t2; } *thread; static void * /* Loop 'arg' times incrementing 'glob' */ threadFunc(void *arg) { int loops = *((int *) arg); ... (1 Reply)
Discussion started by: fwrlfo
1 Replies

8. Programming

Segmentation fault

I keep getting this fault on a lot of the codes I write, I'm not exactly sure why so I'd really appreciate it if someone could explain the idea to me. For example this code #include <stdio.h> main() { unsigned long a=0; unsigned long b=0; int z; { printf("Enter two... (2 Replies)
Discussion started by: sizzler786
2 Replies

9. Programming

C. To segmentation fault or not to segmentation fault, that is the question.

Oddities with gcc, 2.95.3 for the AMIGA and 4.2.1 for MY current OSX 10.14.1... I am creating a basic calculator for the AMIGA ADE *NIX emulator in C as it does not have one. Below are two very condensed snippets of which I have added the results inside the each code section. IMPORTANT!... (11 Replies)
Discussion started by: wisecracker
11 Replies

10. Programming

Why does this example C code run and yet SHOULD either not compile or give a segmentation fault?

Apologies for any typos... Well guys, been researching 'goto' in C and they say that you can't 'goto' labels in another function as a segmentation fault will occur. However I have found a way to 'goto' a label in another function that is NOT main() using the asm() function. As you know I... (14 Replies)
Discussion started by: wisecracker
14 Replies
BRAND.4TH(8)						    BSD System Manager's Manual 					      BRAND.4TH(8)

NAME
brand.4th -- FreeBSD ASCII art boot module DESCRIPTION
The file that goes by the name of brand.4th is a set of commands designed to draw the ASCII art BSD brand above the boot loader menu. The commands of brand.4th by themselves are not enough for most uses. Please refer to the examples below for the most common situations, and to loader(8) for additional commands. Before using any of the commands provided in brand.4th, it must be included through the command: include brand.4th This line is present in the default /boot/menu.rc file, so it is not needed (and should not be re-issued) in a normal setup. The commands provided by it are: draw-brand Draws the BSD brand. The brand that is drawn is configured by setting the loader_brand variable in loader.conf(5) to one of ``fbsd'' (the default) or ``none''. The position of the logo can be configured by setting the loader_brand_x and loader_brand_y variables in loader.conf(5). The default values are 2 (x) and 1 (y). The environment variables that effect its behavior are: loader_brand Selects the desired brand in the beastie boot menu. Possible values are: ``fbsd'' (default) or ``none''. loader_brand_x Sets the desired column position of the brand. Default is 2. loader_brand_y Sets the desired row position of the brand. Default is 1. FILES
/boot/loader The loader(8). /boot/brand.4th brand.4th itself. /boot/loader.rc loader(8) bootstrapping script. EXAMPLES
Set FreeBSD brand in loader.conf(5): loader_brand="fbsd" SEE ALSO
loader.conf(5), loader(8) HISTORY
The brand.4th set of commands first appeared in FreeBSD 9.0. AUTHORS
The brand.4th set of commands was written by Devin Teske <dteske@FreeBSD.org>. BSD
May 18, 2011 BSD
All times are GMT -4. The time now is 01:20 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy