linuxÖÐC³ÌÐò³öÏÖSegmentation fault¡£¡£¡£
ÈçÌ⣺linuxÖÐC³ÌÐò³öÏÖSegmentation fault¡£
ʹÓÃCдÁËÒ»¸öCGI ¡¡
µ«ÊÇÔÚ±àÒëµÄʱÔÚ char *DATA = getenv("QUERY_STRING"); Óо¯¸æ£º
warning£ºassignment makes pointer from integer without a cast
²¿·ÖÔ´³ÌÐò£º
#include <stdio.h> // Ö»ÓÐÕâÒ»¸öÍ·Îļþ
char username[20]; // ·ÅÓû§Ãû
char password[20]; // ·ÅÃÜÂë
char *DATA = getenv("QUERY_STRING"); // È¡µÃCGIÊäÈ룬POST·½Ê½
if( DATA == NULL ){return 0;} // ¿´Ö¸ÕëÊÇ·ñÓÐЧ
sscanf(DATA, "username=%s&password=%d",&username,&password); // È¡³öusernameºÍpassword
ÔÙÍùÏÂÊDZȽÏ×Ö·û´«
¡¡¡¡¡¡
¡¡¡¡¡¡
¡¡¡¡¡¡
ÎÒÒѾÊÔ¹ý char *DATA =£¨char*£©getenv("QUERY_STRING");
±àÒëʱ²»ÏÔʾ¾¯¸æÁË£¬µ«ÊÇÔËÐÐʱ»¹»á Segmentation fault
Ò²ÊÔ¹ý sscanf(getenv("QUERY_STRING"),"username=%s&password=%d",&username,&password);
µ«ÊÇÒ²²»ÐÐ
Ó¦¸Ã²»ÊÇÀàÐÍת»»µÄÎÊÌ⣬
´ó¼Ò¿ìÀ´°ïÎÒ¿´¿´°¡¡¡
ллÀ²£¡£¡£¡
VPC2007ÖеÄRedHat9.0£¬ÄÚºË2.4.20-8
sscanf(DATA, "username=%s&password=%d",username,password);
ºÜÄÑ¿ØÖÆ£¬
sscanfÖ§³Ö ÕýÔò ±í´ïʽ.
Ïà¹ØÎÊ´ð£º
QQȺ 29152388
ÓÑÇéUP
°ï¶¥
up
°ïup
up Ö§³Ö£¡
up jf
...ÄѵÀÓзÖ..?
up up up
Ï£ÍûÓеüӷ֣¬¹þ¹þ¡£
Ö§³Ö£¬ÎÒ¼ÓÁË£¬Ï£ÍûÂ¥Ö÷ÄܼÓÎÒ£¬¹²Í¬Ñ§Ï°¹þ
¼ÓÁË¡£
¶¥ÉÏ£¬Ã¿ÌìÊÕ»ñÒ»µã£¬Ö§³Ö ......
ÎÒÏÖÔÚҪЩһ¸öfortranµ÷ÓÃC½Ó¿ÚµÄÎÊÌ⣬µ«ÊDz»ÖªµÀ CÓïÑÔÀïÃæ·ÖÅäµÄÖ¸ÕëÔõô¸¶¸øfortran,ÓÖ²»ÄÜÔÚfortranÁ¢ÂíÏÈ·ÖÅäºÃ£¬ÒµÎñÉϲ»ÔÊÐí¡£
ÎÒдÁ˸ö²âÊÔµÄÀý×Ó¡£µ«ÊDz»ÐС£
test.c
#include <stdio.h>
#incl ......
#include "stdio.h"
void main()
{
int *p;
int a[10]={0,1,2,3,4,5,6,7,8,9};
int k=0;
p=a;
for(int i=0;i<10;i++,p ......
ÇëÎÊVFPÖÐÈçºÎµ÷ÓÃC/C++º¯Êý£¿
ÄãÒªµ÷ÓÃʲô¹¦Äܵĺ¯Êý£¿Òª¿´¿´VFPÖÐÓÐûÓжÔÓ¦µÄº¯Êý£¬Èç¹ûÓоÍÊ¡×ÅÔÙµ÷ÓÃÁË¡£Èç¹ûûÓУ¬¿ÉÒÔ½«C/C++º¯Êýд¸öDLL»òFLL£¬È»ºóÔÚVFPµ÷Óü´¿É¡£
Ê®¶¹Èý ÀÏʦ£¬Ôõô²ÅÄÜÐÞ¸Ä×Ô¼ºµÄ ......
Á½¸öÎļþ1.PC£¬1.inc
1.PCÓвÙ×÷oracleÊý¾Ý¿âµÄ ,1.incÒ²ÓвÙ×÷oracleÊý¾Ý¿â
ÔÚÆäËûÊý¾ÝÖÐÈçinformix ÖÐ$include 1.inc¾Í¿ÉÒÔʹÓÃÁË
ÔÚORACLEÊý¾Ý¿âÖØ $include 1.inc²»¿ÉÓà EXEC SQL include 1.incÒ²²»¿É ......