>Хая пиплы.
>Трабл таков: при компиляции проги аля "Хая ворлд", возникают замысловатый глюк (причём
>ни с того ни с сего, месяц всё писалось и компилировалось
>на ура и ничего с тех пор не доустанавливалось и не
>убивалось), при передаче приложению аргументов командной строки сколько бы их ни
>было и какие бы они ни были, argc всегда равeн 1,
>а argv забит переменными среды. int main (int argc, char *argv[],
>char *envp[]) не помогает, gcc 3.3.4 линух слак 10, glibc 2.3.2.
>Кто нить сталкивался? Как этот щет лечится?
1) во первых скрипт-тест на счёт косяка шелл :
#!/bin/bash
echo "$0,$1,$2"
должен будет выводить имя скрипта и первые два аргумента через запятые
если не выводит - значит шел глючит..(купи себе медаль - ТАКОГО еще нигде не было)
2) посмотри значения argc,argv сразу после старта программы :
gdb a.out
> break main
> r
> s
> p argc
> p argv
если всё ок - значит ты дальше в памяти напахал (СКОРЕЕ ВСЕГО-ИМЕННО ЭТО)
если уже тут касяк - изучи gcc на тему какие функции стартуют раньше main - косяк в них - возможно пашет один из компонентов твоей программы, исполненный раньше main;
если ничего не помогло - придется тебе переставлять glibc ;-(
P.S. 'замысловатый глюк` ни с того, ни с сего не возникает - всё-ж изменились внешние условия ;-)
|