Hi,
I wrote a c program to read arrays from a txt file and then do a
insertion sort. It runs OK while compiling in gcc. However, I need to
convert it to elf file by using ‘avr-gcc –o filename.elf –mmcu=atmega128
filename.c’ command. And then things happened as following:
address@hidden:~$ avr-gcc -o fget.elf -mmcu=atmega128 fget.c
fget.c: In function 'convert':
fget.c:29: warning: assignment makes pointer from integer without a cast
fget.c:36: warning: assignment makes pointer from integer without a cast
fget.c: In function 'main':
fget.c:73: warning: initialization makes pointer from integer without a cast
/tmp/ccWExtSv.o: In function `convert':
fget.c:(.text+0x124): undefined reference to `strtok'
fget.c:(.text+0x170): undefined reference to `strtok'
/tmp/ccWExtSv.o: In function `main':
fget.c:(.text+0x31c): undefined reference to `fopen'
My C file is shown below like :
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define LIST_SIZE 200
int fgetline(FILE *fp, char s[], int lim) {
char *t;
int c, len=lim;
t = s;
while (--lim>1 && (c=getc(fp)) != EOF && c != '\n')
*s++ = c;
if (c == '\n')
*s++ = c;
else if (lim == 1) {
*s++ = '\n';
fprintf(stderr, "WARNING. fgetline: Line too long, splitted.\n");
}
*s = '\0';
return s - t;
}
void convert(char* sData, int* num_list){
char* pch;
int i = 0;
int v;
pch = strtok(sData, " ");
while(1)
{
if(pch == NULL)
break;
v = atoi(pch);
num_list[i++]=v;
pch = strtok( NULL, " ");
}
}
void insertion_sort(FILE* fp , int * num_list){
char sData[1000];
int value;
int i, j,done;
fgetline(fp,sData,1000);
convert(sData, num_list);
for(i=1; i<LIST_SIZE; i++)
{
value = num_list[i];
j = i - 1;
done = 0;
while (!done)
{
if (value < num_list[j])
{
num_list[j+1] = num_list[j];
j--;
if (j < 0)
done = 1;
}
else
done = 1;
}
num_list[j+1] = value;
}
}
int main(void){
int i;
FILE* fp = fopen("200.txt", "r"); // there are 10K random permutations
of 200 number list
for(i=0;i<10000;i++)
{
int num_list[LIST_SIZE];
insertion_sort(fp,num_list);
}
asm volatile("break");
return 1;
}
Iwill appreciate if someone could help me out from this. Thanks a million
Best Regards
Jum
_______________________________________________
AVR-GCC-list mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/avr-gcc-list