文章作者:雪域冰芒[NBO]
1>安装source insight 3.5
2>在linux机子/你开发所用的机子上运行mk_h.sh用以生成ansi c的函数帮助,mk_h.sh的内容如下:
#!/bin/sh
man -k [a-z]|grep '(3)'|grep ^[^A-Z]|grep -v _|awk '{ print $1 }'|grep -v ^dap >
__cfun__
man -k [a-z]|grep '(2)'|grep ^[^A-Z]|grep -v _|awk '{ print $1 }'|grep -v ^dap >
>__cfun__
wc -l __cfun__
#man strcpy |col -b|awk 'BEGIN {FLAG="A"} {if ((FLAG=="A" ) && ($1 ~/^SYNOPSIS/
)) FLAG="B"; if ( FLAG=="B") print $0;if ( $1 ~/^DESCRIPTION/) exit }'
echo "">ANSICfun.h
CFUN="OO"
while [ $CFUN ]
do
read CFUN
echo "Now do with $CFUN ... ..."
man $CFUN |col -b|awk 'BEGIN {FLAG="A";FLAG2="C"} {if ((FLAG=="A" ) && (
$1 ~/^SYNOPSIS/ )) FLAG="B"; if ( FLAG=="B") print $0;if ( $1 ~/^DESCRIPTION/) e
xit }'|awk '{ if ($1 ~/^int *|^void *|^char *|^unsigned *|^long *|^double *|^flo
at */ ) FLAG2="D";if ($NF ~/);/ && FLAG2=="D" ) {print $0 ; FLAG2="E"}; if ( FLA
G2=="D" && $NF !~/);/) {printf "%s",$0;FLAG2="K"}; if ( FLAG2=="K" && $NF ~/);/
) {print $0;FLAG2="C"} }' >>ANSICfun.h
done <__cfun__
sort ANSICfun.h >__TMP__
uniq __TMP__ |tr -s ' ' >ANSICfun.h
rm -f __cfun__
rm -f __TMP__
echo "All complete!!!!!!!!!!!!!"
3>将上面shell生成的ANSICfun.h拷贝到windows目录,比如C:comm_H下
4>在source insinght菜单中以此选:options-->preferences-->symbol lookups-->create common project
5>根据提示,建立headers include类型的common project,将ANSICfun.h包含进新建的工程
6>将项目中用到的头文件包含包含到新工程
7>选择project -->synchronize files
8>关闭新建工程
9>点view,确定context window处于选中状态
9>新建立个c文件,输入任意一个C函数,在context window中将提示该函数的详细参数
10>在options的custom commands中定义一个批处理文件,让执行telnet到主机,然后make即可(曾经这么用,现在还是喜欢直接telnet过去make)
11>调试直接用debug/dbx/gdb或Ctools的调试功能
12>对了,远程文件存取用samba,速度感觉比ftp快,而且多人开发时,别人修改了source code,你的source insight可以立即提示更新
13>c关键字高亮,利用下面shell生成,拷贝__cfun__到你的windows中,利用source insight的document setting 选c language,选keyword ,然后import即可
#!/bin/sh
man -k [a-z]|grep '(3)'|grep ^[^A-Z]|grep -v _|awk '{ print $1 }'|grep -v ^dap >
__cfun__
man -k [a-z]|grep '(2)'|grep ^[^A-Z]|grep -v _|awk '{ print $1 }'|grep -v ^dap >
>__cfun__
sort __cfun__|uniq >__tmp__
mv __tmp__ __cfun__
如果要添加关键字到ultraedit,则在上面shell尾部添加:
for AW in a b c d e f g h i j k l m n o p q r s t u v w x y z
do
grep ^${AW} __cfun__|awk '{printf "%s ",$1}'
echo ""
done
然后重定向各文件,将其合并到utrledit的keyword文件中,不再罗嗦
13>能记得起来的就那么多,附上ANSICfun.h和__fun__ 给需要的朋友
ANSICfun.h
复制内容到剪贴板
代码:
__cfun__
复制内容到剪贴板
代码:
a64l
abort
abs
accept
access
acct
acos
acosh
addmntent
adjtimex
alarm
alloca
alphasort
asctime
asin
asinh
asprintf
assert
atan
atan2
atanh
atexit
atof
atoi
atol
atoll
atoq
basename
bcmp
bcopy
bdflush
bind
bindresvport
bindtextdomain
break
brk
bsearch
btowc
btree
bzero
cacheflush
calloc
capget
capset
catclose
catgets
catopen
cbrt
ceil
ceilf
ceill
cfgetispeed
cfgetospeed
cfmakeraw
cfsetispeed
cfsetospeed
chdir
chmod
chown
chroot
clearenv
clearerr
clock
clone
close
closedir
closelog
confstr
connect
copysign
copysignf
copysignl
cos
cosh
creat
crypt
ctermid
ctime
cups-config
cuserid
daemon
daylight
dbopen
dcgettext
dcngettext
dgettext
difftime
dirfd
dirname
div
dlclose
dlerror
dlopen
dlsym
dngettext
dprintf
drand48
drem
dup
dup2
dysize
ecvt
encrypt
endfsent
endgrent
endhostent
endmntent
endprotoent
endpwent
endttyent
endusershell
endutent
erand48
erf
erfc
err
errno
errx
execl
execle
execlp
execv
execve
execvp
exit
exp
expm1
fabs
fabsf
fabsl
fchdir
fchmod
fchown
fclose
fcloseall
fcntl
fcvt
fdatasync
fdopen
feclearexcept
fegetenv
fegetexceptflag
fegetround
feholdexcept
feof
feraiseexcept
ferror
fesetenv
fesetexceptflag
fesetround
fetestexcept
feupdateenv
fflush
ffs
fgetc
fgetgrent
fgetpos
fgetpwent
fgets
fgetwc
fgetws
fgetxattr
fileno
finite
flistxattr
flock
flockfile
floor
floorf
floorl
fmod
fnmatch
fontconfig
fopen
fork
forkpty
fpathconf
fprintf
fpurge
fputc
fputs
fputwc
fputws
fread
free
fremovexattr
freopen
frexp
fscanf
fseek
fseeko
fsetpos
fsetxattr
fstat
fstatfs
fsync
ftell
ftello
ftime
ftok
ftruncate
ftrylockfile
fts
ftw
funlockfile
fwide
fwprintf
fwrite
gamma
gcvt
getaddrinfo
getc
getchar
getcontext
getcwd
getdate()
getdelim
getdents
getdirentries
getdomainname
getdtablesize
getegid
getenv
geteuid
getfsent
getfsfile
getfsspec
getgid
getgrent
getgrgid
getgrnam
getgroups
gethostbyaddr
gethostbyname
gethostid
gethostname
getitimer
getline
getloadavg
getlogin
getmntent
getnameinfo
getopt
getpagesize
getpass
getpeername
getpgid
getpgrp
getpid
getppid
getpriority
getprotobyname
getprotobynumber
getprotoent
getpw
getpwent
getpwnam
getpwuid
getresgid
getresuid
getrlimit
getrpcbyname
getrpcbynumber
getrpcent
getrpcport
getrusage
gets
getsid
getsockname
getsockopt
gettext
gettimeofday
getttyent
getttynam
getuid
getumask
getusershell
getutent
getutid
getutline
getw
getwc
getwchar
getwd
getxattr
glob
globfree
gmtime
gsignal
gtty
hash
hasmntopt
hcreate
hdestroy
herror
hesiod
history
hsearch
hstrerror
htonl
htons
hypot
iconv
idle
imaxabs
inb
index
initgroups
initstate
inl
insb
insl
insque
insw
intro
inw
ioctl
ioperm
iopl
ipc
iruserok
isalnum
isalpha
isascii
isatty
isblank
iscntrl
isdigit
isgraph
isinf
islower
isnan
isprint
ispunct
isspace
isupper
iswalnum
iswalpha
iswblank
iswcntrl
iswctype
iswdigit
iswgraph
iswlower
iswprint
iswpunct
iswspace
iswupper
iswxdigit
isxdigit
j0
j0f
j0l
j1
j1f
j1l
jn
jnf
jnl
jrand48
kill
killpg
l64a
labs
lchown
lcong48
ldap
ldexp
ldiv
lfind
lgamma
lgetxattr
libcurl
libcurl-multi
liblockdev
libpbm
libpgm
libpng
libpnm
libppm
libsensors
libuuid
libxml
link
listen
listxattr
llabs
llistxattr
llrint
llrintf
llrintl
llround
llroundf
llroundl
localeconv
localtime
lock
lockdev
lockf
log
log10
log1p
logger
logwtmp
longjmp
lrand48
lremovexattr
lrint
lrintf
lrintl
lround
lroundf
lroundl
lsearch
lseek
lsetxattr
lstat
madvise
makecontext
malloc
mblen
mbrlen
mbrtowc
mbsinit
mbsnrtowcs
mbsrtowcs
mbstowcs
mbtowc
memccpy
memchr
memcmp
memcpy
memfrob
memmem
memmove
memrchr
memset
mincore
mkdir
mkdtemp
mkfifo
mknod
mkstemp
mktemp
mktime
mlock
mlockall
mmap
mmap2
modf
mount
mpool
mprotect
mpx
mrand48
mremap
msgctl
msgget
msgop
msync
mtrace
munlock
munlockall
munmap
muntrace
nan
nanf
nanl
nanosleep
nearbyint
nearbyintf
nearbyintl
netlink
nextafter
nexttoward
nfsservctl
nftw
ngettext
nice
none
nrand48
ntohl
ntohs
oldfstat
oldlstat
oldolduname
oldstat
olduname
open
opendir
openlog
openpty
outb
outl
outsb
outsl
outsw
outw
pathconf
pause
pcap
pclose
pcre
pcreposix
perror
personality
phys
pipe
poll
popen
popt
pow
prctl
pread
printf
prof
profil
pselect
psignal
ptrace
putc
putchar
putenv
putpwent
puts
pututline
putw
putwchar
pwrite
qecvt
qfcvt
qgcvt
qsort
quotactl
raise
rand
random
rcmd
read
readdir
readline
readlink
readv
realloc
realpath
reboot
recno
recv
recvfrom
recvmsg
regcomp
regerror
regexec
regfree
remove
removexattr
remque
rename
rewind
rewinddir
rindex
rint
rintf
rintl
rmdir
round
roundf
roundl
rpc
rquota
rresvport
rtnetlink
ruserok
sbrk
scandir
scanf
seed48
seekdir
select
semctl
semget
semop
send
sendfile
sendmsg
sendto
setbuf
setbuffer
setcontext
setdomainname
setegid
setenv
seteuid
setfsent
setfsgid
setfsuid
setgid
setgrent
setgroups
sethostent
sethostid
sethostname
setitimer
setjmp
setlinebuf
setlocale
setlogmask
setmntent
setpgid
setpgrp
setpriority
setprotoent
setpwent
setregid
setresgid
setresuid
setreuid
setrlimit
setsid
setsockopt
setstate
settimeofday
setttyent
setuid
setup
setusershell
setutent
setvbuf
setxattr
shadow
shmctl
shmget
shmop
shutdown
sigaction
sigaddset
sigaltstack
sigblock
sigdelset
sigemptyset
sigfillset
siggetmask
siginterrupt
sigismember
siglongjmp
sigmask
signal
signbit
sigpause
sigpending
sigprocmask
sigqueue
sigreturn
sigsetjmp
sigsetmask
sigsuspend
sigtimedwait
sigvec
sigwaitinfo
sinh
sleep
snprintf
socket
socketcall
socketpair
sprintf
sqrt
srand
srand48
srandom
sscanf
ssignal
stat
statfs
stdarg
stderr
stdin
stdio
stdout
stime
stpcpy
stpncpy
strcasecmp
strcat
strchr
strcmp
strcoll
strcpy
strcspn
strdup
strdupa
strerror
strfmon
strfry
strftime
strlen
strncasecmp
strncat
strncmp
strncpy
strndup
strndupa
strnlen
strpbrk
strptime
strrchr
strsep
strsignal
strspn
strstr
strtod
strtof
strtok
strtol
strtold
strtoll
strtoq
strtoul
strtoull
strtouq
strverscmp
strxfrm
stty
swab
swapcontext
swapoff
swapon
swprintf
symlink
sync
syscall
sysconf
sysctl
sysfs
sysinfo
syslog
system
tan
tanh
tcdrain
tcflow
tcflush
tcgetattr
tcgetpgrp
tcsendbreak
tcsetattr
tcsetpgrp
tdelete
telldir
tempnam
termios
textdomain
tfind
tgamma
tgammaf
tgammal
time
timegm
timelocal
times
timezone
tmpfile
tmpnam
toascii
tolower
toupper
towctrans
towlower
towupper
trunc
truncate
truncf
truncl
tsearch
ttyname
ttyslot
tux
twalk
tzname
tzset
ulimit
umask
umount
uname
ungetc
ungetwc
unlink
updwtmp
uselib
usleep
ustat
utime
utimes
utmpname
vasprintf
vdprintf
verr
verrx
versionsort
vfork
vfprintf
vfscanf
vfwprintf
vhangup
vm86
vm86old
vprintf
vscanf
vsnprintf
vsprintf
vsscanf
vswprintf
vwarn
vwarnx,
vwprintf
wait
wait3
wait4
waitpid
warn
warnx
wcpcpy
wcpncpy
wcrtomb
wcscasecmp
wcscat
wcschr
wcscmp
wcscpy
wcscspn
wcsdup
wcslen
wcsncasecmp
wcsncat
wcsncmp
wcsncpy
wcsnlen
wcsnrtombs
wcspbrk
wcsrchr
wcsrtombs
wcsspn
wcsstr
wcstok
wcstombs
wcswidth
wctob
wctomb
wctrans
wctype
wcwidth
wmemchr
wmemcmp
wmemcpy
wmemmove
wmemset
wprintf
write
writev
xdr
y0
y0f
y0l
y1
y1f
y1l
yn
ynf
ynl
zlib