2011. 12. 11. 17:02 카테고리 없음

Process, Thread

process structure
프로세스의 구조를 알아야 무엇을 공유하고 무엇을 공유하지 않는지 알 수 있다

Process?
Processes carry out tasks within the operating system. A program is a set of machine code instructions and data stored in an executable image on disk and is, as such, a passive entity; a process can be thought of as a computer program in action.

each process is represented by a task_struct data structure


State - running, waiting, zombie, Stopped
Scheduling information
Identifier - pid
Inter-Process Communication - for ipc
Links - pstree | more
Time - cpu time
File system - for VFS
Virtual memory
Context


The child is a copy of the parent. For example, the child gets a copy of the parent's data space, heap, and stack. Note that this is a copy for the child;
the parent and the child do not share these portions of memory.

The parent and the child share the text segment

Advanced Programming in the UNIX Environment
http://tldp.org/LDP/tlk/kernel/processes.html

Posted by 쵸코케키
$ make configure-host
Configuring in ./libiberty
configure: creating cache ./config.cache
checking whether to enable maintainer-specific portions of Makefiles... no
checking for makeinfo... makeinfo
checking for perl... perl
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking for i686-pc-cygwin-ar... ar
checking for i686-pc-cygwin-ranlib... ranlib
checking for i686-pc-cygwin-gcc... gcc
checking for C compiler default output file name... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... .exe
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking how to run the C preprocessor... gcc -E
checking whether gcc supports -W... yes
checking whether gcc supports -Wall... yes
checking whether gcc supports -Wwrite-strings... yes
checking whether gcc supports -Wc++-compat... yes
checking whether gcc supports -Wstrict-prototypes... yes
checking whether gcc supports -pedantic ... yes
checking whether gcc and cc understand -c and -o together... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
checking for a BSD-compatible install... /usr/bin/install -c
checking for sys/file.h... yes
checking for sys/param.h... yes
checking for limits.h... yes
checking for stdlib.h... (cached) yes
checking for malloc.h... yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking for strings.h... (cached) yes
checking for sys/time.h... yes
checking for time.h... yes
checking for sys/resource.h... yes
checking for sys/stat.h... (cached) yes
checking for sys/mman.h... yes
checking for fcntl.h... yes
checking for alloca.h... yes
checking for sys/pstat.h... no
checking for sys/sysmp.h... no
checking for sys/sysinfo.h... yes
checking for machine/hal_sysinfo.h... no
checking for sys/table.h... no
checking for sys/sysctl.h... no
checking for sys/systemcfg.h... no
checking for stdint.h... (cached) yes
checking for stdio_ext.h... no
checking for process.h... yes
checking for sys/prctl.h... no
checking for sys/wait.h that is POSIX.1 compatible... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether errno must be declared... no
checking size of int... 4
checking for a 64-bit type... uint64_t
checking for intptr_t... yes
checking for uintptr_t... yes
checking for ssize_t... yes
checking for pid_t... yes
checking for library containing strerror... none required
checking for asprintf... yes
checking for atexit... yes
checking for basename... yes
checking for bcmp... yes
checking for bcopy... yes
checking for bsearch... yes
checking for bzero... yes
checking for calloc... yes
checking for clock... yes
checking for ffs... yes
checking for getcwd... yes
checking for getpagesize... yes
checking for gettimeofday... yes
checking for index... yes
checking for insque... yes
checking for memchr... yes
checking for memcmp... yes
checking for memcpy... yes
checking for memmem... yes
checking for memmove... yes
checking for mempcpy... yes
checking for memset... yes
checking for mkstemps... yes
checking for putenv... yes
checking for random... yes
checking for rename... yes
checking for rindex... yes
checking for setenv... yes
checking for snprintf... yes
checking for sigsetmask... no
checking for stpcpy... yes
checking for stpncpy... yes
checking for strcasecmp... yes
checking for strchr... yes
checking for strdup... yes
checking for strncasecmp... yes
checking for strndup... yes
checking for strrchr... yes
checking for strstr... yes
checking for strtod... yes
checking for strtol... yes
checking for strtoul... yes
checking for strverscmp... no
checking for tmpnam... yes
checking for vasprintf... yes
checking for vfprintf... yes
checking for vprintf... yes
checking for vsnprintf... yes
checking for vsprintf... yes
checking for waitpid... yes
checking for setproctitle... no
checking whether alloca needs Cray hooks... no
checking stack direction for C alloca... -1
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking for _doprnt... no
checking for sys_errlist... yes
checking for sys_nerr... yes
checking for sys_siglist... no
checking for external symbol _system_configuration... no
checking for __fsetlocking... no
checking for canonicalize_file_name... yes
checking for dup3... yes
checking for getrlimit... yes
checking for getrusage... yes
checking for getsysinfo... no
checking for gettimeofday... (cached) yes
checking for on_exit... yes
checking for psignal... no
checking for pstat_getdynamic... no
checking for pstat_getstatic... no
checking for realpath... yes
checking for setrlimit... yes
checking for sbrk... yes
checking for spawnve... yes
checking for spawnvpe... yes
checking for strerror... yes
checking for strsignal... yes
checking for sysconf... yes
checking for sysctl... no
checking for sysmp... no
checking for table... no
checking for times... yes
checking for wait3... yes
checking for wait4... yes
checking whether basename is declared... no
checking whether ffs is declared... yes
checking whether asprintf is declared... yes
checking whether vasprintf is declared... yes
checking whether snprintf is declared... yes
checking whether vsnprintf is declared... yes
checking whether calloc is declared... yes
checking whether getenv is declared... yes
checking whether getopt is declared... yes
checking whether malloc is declared... yes
checking whether realloc is declared... yes
checking whether sbrk is declared... yes
checking whether strverscmp is declared... no
checking whether canonicalize_file_name must be declared... no
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for getpagesize... (cached) yes
checking for working mmap... no
checking for working strncmp... yes
configure: updating cache ./config.cache
configure: creating ./config.status
config.status: creating Makefile
config.status: creating testsuite/Makefile
config.status: creating config.h
config.status: executing default commands
Configuring in ./intl
configure: creating cache ./config.cache
checking whether make sets $(MAKE)... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether NLS is requested... no
checking for msgfmt... no
checking for gmsgfmt... :
checking for xgettext... no
checking for msgmerge... no
checking for i686-pc-cygwin-gcc... gcc
checking for C compiler default output file name... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... .exe
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking for i686-pc-cygwin-ranlib... ranlib
checking for library containing strerror... none required
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for off_t... yes
checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for getpagesize... yes
checking for working mmap... no
checking whether we are using the GNU C Library 2.1 or newer... no
checking whether integer division by zero raises SIGFPE... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unsigned long long... yes
checking for inttypes.h... yes
checking whether the inttypes.h PRIxNN macros are broken... no
checking for ld used by GCC... /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking for shared library run path origin... done
checking argz.h usability... yes
checking argz.h presence... yes
checking for argz.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking nl_types.h usability... no
checking nl_types.h presence... no
checking for nl_types.h... no
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking for feof_unlocked... no
checking for fgets_unlocked... no
checking for getc_unlocked... yes
checking for getcwd... yes
checking for getegid... yes
checking for geteuid... yes
checking for getgid... yes
checking for getuid... yes
checking for mempcpy... yes
checking for munmap... yes
checking for putenv... yes
checking for setenv... yes
checking for setlocale... yes
checking for stpcpy... yes
checking for strcasecmp... yes
checking for strdup... yes
checking for strtoul... yes
checking for tsearch... yes
checking for __argz_count... yes
checking for __argz_stringify... yes
checking for __argz_next... yes
checking for __fsetlocking... no
checking for iconv... yes
checking how to link with libiconv... -liconv
checking for iconv declaration... install-shextern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking for nl_langinfo and CODESET... yes
checking for LC_MESSAGES... yes
checking for bison... bison
checking version of bison... 2.4.2, ok
checking whether NLS is requested... no
checking whether to use NLS... no
checking for aclocal... aclocal
checking for autoconf... autoconf
checking for autoheader... autoheader
configure: updating cache ./config.cache
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.intl
config.status: creating config.h
config.status: executing default-1 commands
Configuring in ./bfd
configure: creating cache ./config.cache
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking target system type... x86_64-pc-linux-gnu
checking for i686-pc-cygwin-gcc... gcc
checking for C compiler default output file name... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... .exe
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for library containing strerror... none required
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for i686-pc-cygwin-ar... ar
checking for i686-pc-cygwin-ranlib... ranlib
checking for i686-pc-cygwin-gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 8192
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe option to reload object files... -r
checking for i686-pc-cygwin-objdump... objdump
checking how to recognize dependent libraries... file_magic ^x86 archive import|^x86 DLL
checking for i686-pc-cygwin-ar... (cached) ar
checking for i686-pc-cygwin-strip... no
checking for strip... strip
checking for i686-pc-cygwin-ranlib... (cached) ranlib
checking command to parse nm output from gcc object... ok
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe) supports shared libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
Setting warning flags = -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether to install libbfd... no
checking whether NLS is requested... no
checking whether NLS is requested... no
checking for msgfmt... no
checking for gmsgfmt... :
checking for xgettext... no
checking for msgmerge... no
checking size of long long... 8
checking size of void *... 4
checking size of long... 4
checking alloca.h usability... yes
checking alloca.h presence... yes
checking for alloca.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking for stdlib.h... (cached) yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking for unistd.h... (cached) yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for sys/stat.h... (cached) yes
looking for a compliant stdint.h in stdint.h, checking for uintmax_t... yes
checking for uintptr_t... yes
checking for int_least32_t... yes
checking for int_fast32_t... yes
checking for uint64_t... yes
checking what to include in bfd_stdint.h... stdint.h (already complete)
checking whether time.h and sys/time.h may both be included... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking whether string.h and strings.h may both be included... yes
checking for fcntl... yes
checking for getpagesize... yes
checking for setitimer... yes
checking for sysconf... yes
checking for fdopen... yes
checking for getuid... yes
checking for getgid... yes
checking for fileno... yes
checking for strtoull... yes
checking whether basename is declared... no
checking whether ftello is declared... yes
checking whether ftello64 is declared... no
checking whether fseeko is declared... yes
checking whether fseeko64 is declared... no
checking whether ffs is declared... yes
checking whether free is declared... yes
checking whether getenv is declared... yes
checking whether malloc is declared... yes
checking whether realloc is declared... yes
checking whether stpcpy is declared... yes
checking whether strstr is declared... yes
checking whether snprintf is declared... yes
checking whether vsnprintf is declared... yes
checking for library containing zlibVersion... no
checking linker --as-needed support... yes
checking for gcc version with buggy 64-bit support... no
checking for ftello... yes
checking for ftello64... no
checking for fseeko... yes
checking for fseeko64... no
checking for fopen64... no
checking size of off_t... 8
checking file_ptr type... BFD_HOST_64_BIT
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for getpagesize... (cached) yes
checking for working mmap... no
checking for madvise... yes
checking for mprotect... yes
configure: updating cache ./config.cache
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating bfd-in3.h
config.status: creating po/Makefile.in
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default-1 commands
config.status: executing bfd_stdint.h commands
config.status: executing default commands
Configuring in ./opcodes
configure: creating cache ./config.cache
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking target system type... x86_64-pc-linux-gnu
checking for i686-pc-cygwin-gcc... gcc
checking for C compiler default output file name... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... .exe
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for library containing strerror... none required
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for i686-pc-cygwin-gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for i686-pc-cygwin-ar... ar
checking for i686-pc-cygwin-ranlib... ranlib
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 8192
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe option to reload object files... -r
checking for i686-pc-cygwin-objdump... objdump
checking how to recognize dependent libraries... file_magic ^x86 archive import|^x86 DLL
checking for i686-pc-cygwin-ar... (cached) ar
checking for i686-pc-cygwin-strip... no
checking for strip... strip
checking for i686-pc-cygwin-ranlib... (cached) ranlib
checking command to parse nm output from gcc object... ok
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe) supports shared libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
Setting warning flags = -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether to install libbfd... no
checking whether NLS is requested... no
checking whether NLS is requested... no
checking for msgfmt... no
checking for gmsgfmt... :
checking for xgettext... no
checking for msgmerge... no
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking for stdlib.h... (cached) yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking whether basename is declared... no
checking whether stpcpy is declared... yes
checking linker --as-needed support... yes
configure: updating cache ./config.cache
configure: creating ./config.status
config.status: creating Makefile
config.status: creating po/Makefile.in
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default-1 commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
Configuring in ./binutils
configure: creating cache ./config.cache
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking target system type... x86_64-pc-linux-gnu
checking for i686-pc-cygwin-gcc... gcc
checking for C compiler default output file name... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... .exe
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for library containing strerror... none required
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for i686-pc-cygwin-gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 8192
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe option to reload object files... -r
checking for i686-pc-cygwin-objdump... objdump
checking how to recognize dependent libraries... file_magic ^x86 archive import|^x86 DLL
checking for i686-pc-cygwin-ar... ar
checking for i686-pc-cygwin-strip... no
checking for strip... strip
checking for i686-pc-cygwin-ranlib... ranlib
checking command to parse nm output from gcc object... ok
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe) supports shared libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
Setting warning flags = -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror
checking for bison... bison -y
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking whether NLS is requested... no
checking whether NLS is requested... no
checking for msgfmt... no
checking for gmsgfmt... :
checking for xgettext... no
checking for msgmerge... no
checking whether to enable maintainer-specific portions of Makefiles... no
checking for i686-pc-cygwin-ranlib... (cached) ranlib
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for sbrk... yes
checking for utimes... yes
checking for setmode... yes
checking for getc_unlocked... yes
checking for strcoll... yes
checking for mkstemp... yes
checking for mkdtemp... yes
checking for library containing frexp... none required
checking for time_t in time.h... yes
checking for time_t in sys/types.h... yes
checking for a known getopt prototype in unistd.h... yes
checking for utime.h... yes
checking whether fprintf is declared... yes
checking whether stpcpy is declared... yes
checking whether strstr is declared... yes
checking whether sbrk is declared... yes
checking whether getenv is declared... yes
checking whether environ is declared... yes
checking whether getc_unlocked is declared... yes
checking whether snprintf is declared... yes
checking whether vsnprintf is declared... yes
checking for library containing zlibVersion... no
checking iconv.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking for ld used by GCC... /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking for shared library run path origin... done
checking for iconv... yes
checking how to link with libiconv... -liconv
checking for iconv declaration... install-shextern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
configure: updating cache ./config.cache
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating po/Makefile.in
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default-1 commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
Configuring in ./etc
configure: creating cache ./config.cache
checking for a BSD-compatible install... /usr/bin/install -c
configure: updating cache ./config.cache
configure: creating ./config.status
config.status: creating Makefile
Configuring in ./gas
configure: creating cache ./config.cache
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking target system type... x86_64-pc-linux-gnu
checking for i686-pc-cygwin-gcc... gcc
checking for C compiler default output file name... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... .exe
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for library containing strerror... none required
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for i686-pc-cygwin-gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 8192
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe option to reload object files... -r
checking for i686-pc-cygwin-objdump... objdump
checking how to recognize dependent libraries... file_magic ^x86 archive import|^x86 DLL
checking for i686-pc-cygwin-ar... ar
checking for i686-pc-cygwin-strip... no
checking for strip... strip
checking for i686-pc-cygwin-ranlib... ranlib
checking command to parse nm output from gcc object... ok
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe) supports shared libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
Setting warning flags = -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror
checking whether byte ordering is bigendian... no
checking for bison... bison -y
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking whether NLS is requested... no
checking whether NLS is requested... no
checking for msgfmt... no
checking for gmsgfmt... :
checking for xgettext... no
checking for msgmerge... no
checking whether to enable maintainer-specific portions of Makefiles... no
checking for string.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for memory.h... (cached) yes
checking for strings.h... (cached) yes
checking for unistd.h... (cached) yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking for sys/types.h... (cached) yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking for sys/stat.h... (cached) yes
checking whether compiling a cross-assembler... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for inline... inline
checking for unlink... yes
checking for sbrk... yes
checking for working assert macro... yes
checking whether declaration is required for errno... no
checking for a known getopt prototype in unistd.h... yes
checking whether declaration is required for environ... no
checking whether declaration is required for ffs... no
checking whether declaration is required for free... no
checking whether declaration is required for malloc... no
checking whether declaration is required for sbrk... no
checking whether declaration is required for strstr... no
checking whether mempcpy is declared... yes
checking whether vsnprintf is declared... yes
checking for library containing zlibVersion... no
checking for struct tm.tm_gmtoff in time.h... no
checking for struct stat.st_mtim.tv_sec in sys/stat.h... yes
checking for struct stat.st_mtim.tv_nsec in sys/stat.h... yes
configure: updating cache ./config.cache
configure: creating ./config.status
config.status: creating .gdbinit
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating po/Makefile.in
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default-1 commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
config.status: executing default commands
Configuring in ./gprof
configure: creating cache ./config.cache
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking target system type... x86_64-pc-linux-gnu
checking for i686-pc-cygwin-gcc... gcc
checking for C compiler default output file name... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... .exe
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for library containing strerror... none required
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for i686-pc-cygwin-gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 8192
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe option to reload object files... -r
checking for i686-pc-cygwin-objdump... objdump
checking how to recognize dependent libraries... file_magic ^x86 archive import|^x86 DLL
checking for i686-pc-cygwin-ar... ar
checking for i686-pc-cygwin-strip... no
checking for strip... strip
checking for i686-pc-cygwin-ranlib... ranlib
checking command to parse nm output from gcc object... ok
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe) supports shared libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for setmode... yes
checking whether NLS is requested... no
checking whether NLS is requested... no
checking for msgfmt... no
checking for gmsgfmt... :
checking for xgettext... no
checking for msgmerge... no
checking whether to enable maintainer-specific portions of Makefiles... no
checking sys/gmon_out.h usability... no
checking sys/gmon_out.h presence... no
checking for sys/gmon_out.h... no
checking for a known getopt prototype in unistd.h... yes
checking for library containing fabs... none required
Setting warning flags = -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror
configure: updating cache ./config.cache
configure: creating ./config.status
config.status: creating Makefile
config.status: creating po/Makefile.in
config.status: creating gconfig.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default-1 commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
Configuring in ./ld
configure: creating cache ./config.cache
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking target system type... x86_64-pc-linux-gnu
checking for i686-pc-cygwin-gcc... gcc
checking for C compiler default output file name... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... .exe
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for library containing strerror... none required
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking whether to enable maintainer-specific portions of Makefiles... no
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
Setting warning flags = -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror
checking for i686-pc-cygwin-gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether we are using the GNU C++ compiler... no
checking whether CC accepts -g... no
checking dependency style of CC... gcc3
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 8192
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe option to reload object files... -r
checking for i686-pc-cygwin-objdump... objdump
checking how to recognize dependent libraries... file_magic ^x86 archive import|^x86 DLL
checking for i686-pc-cygwin-ar... ar
checking for i686-pc-cygwin-strip... no
checking for strip... strip
checking for i686-pc-cygwin-ranlib... ranlib
checking command to parse nm output from gcc object... ok
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld.exe) supports shared libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... /lib/cpp
configure: error: in `/usr/src/binutils-2.21.53-2/ld':
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.
Makefile:6968: recipe for target `configure-ld' failed
make: *** [configure-ld] Error 1

64bit OS 만들기 시작하자마자 난관에 봉착...........


cygwin setup가서 g++ 컴파일러를 설치해주니 잘 진행된다

http://www.linuxquestions.org/questions/linux-software-2/configure-error-c-preprocessor-lib-cpp-fails-sanity-check-124961/

멍청한놈!ㅠㅠㅠ

Posted by 쵸코케키
~/Desktop/starvation.c.html
#include <stdio.h>
#include <string.h>
#include <pthread.h>

void* thread_main1(void*);
void* thread_main2(void*);

pthread_mutex_t MUTEX = PTHREAD_MUTEX_INITIALIZER;

char buf[255];
int length;

int main()
{

	pthread_t id[5];
	pthread_create(&id[0],NULL,thread_main1,NULL);
	pthread_create(&id[1], NULL, thread_main2, NULL);


	pthread_join(id[1], NULL);
	pthread_join(id[0], NULL);




return 0;

}

void* thread_main1(void* arg)
{
int i;
for(i=10; i>0 ; i--)
{
	pthread_mutex_lock(&MUTEX);
	printf("thread#1 Locked %d  %s\n",i, buf);
	pthread_mutex_unlock(&MUTEX);
	sleep(1);
}
}

void* thread_main2(void* arg)
{

int j;
for(j=10; j>0; j--)
{
	pthread_mutex_lock(&MUTEX);
	printf("thread#2 Lock %d\n",j);
	length = scanf("%[^\n]%*c",buf);
	pthread_mutex_unlock(&MUTEX);
	sleep(1);
}
}
배운거랑 다르게 막상 플그램을 만들다보면 전혀 눈치를 못 챈다

일부로 buf 변수라는 critical section을 만들고 출력과 입력이 동일한 변수를 사용하게 만들었다
그리고 서로 자원을 가지고 경쟁하도록 했으며 자원을 사용할 때는 lock을 걸어서 이상이 없도록 했다
상식적으로 scanf를 통해서 입력 받는 i/o타임이 buf에서 읽어서 출력하는 부분보다 클테니까
thread_main2는 한 두번 정도 실행되고 thread_main1이 주욱 실행 되거나
너한번 나한번, 기타 등등 뭐 그런 형식으로 진행 될 것 같았다
여기 까지는 아무런 문제가 없어보인다
그런데 실제로 프로그램을 돌려보니 예상 했던 것과는 결과가 다르게 나왔다

thread_main2만 줄창 실행되더라
즉 thread_main2가 락을 풀자마자 다시 락을 또 걸고 자원을 독점해버리는 것이었다
으...스케쥴 정책이 도대체 어떻게 되어있길래 이런 결과가 나오는건지

그런데 더 웃긴건 집에서 해보니 정상적으로 퐁당퐁당으로 되더라
애초에 race condition을 가정하고 만들긴 했는데 컴퓨터에 따라서 독점이냐 아니면 적당히냐가 완전히 달랐다

진짜 큰 교훈이 되었다 테스트 환경 c2d 5x00 vmplayer ubuntu 10.04 LTS, i3 2100 ubuntu 11.10


'devel > man & example' 카테고리의 다른 글

strstr  (0) 2012.01.28
arm inline assembly  (0) 2011.12.24
scanf에서 fflush(stdin) 사용 안하고 \n 파싱해서 없애기  (2) 2011.11.27
function pointer  (0) 2009.11.24
sprintf int to ascii  (0) 2009.11.08
Posted by 쵸코케키

(스샷은 wifi 없으면 인터넷이 되지를 않는 LGT 3g의 현실)

LGT의 갤럭시 S2를 사용하다가 3g 인터넷이 도통 되지를 않아서 바꾸게 되었다
진짜 LGT는 답이 없다...

3g가 터지지도 않고 그렇다고 지하철에 wifi를 설치해놓는 것도 아니고
그냥 아예 고객을 개 호구로 보는 기업이다
LG즌자 사원들 조차도 자기 일하는 회사에서 3g 안터져서 그냥 포기한다는데
진짜 답이 없다
중계기 설치해달랬더니 트래픽 집중 지역이라 안된단다
당연하지 LG즌자에서 LGT폰 쓰는데 당연히 트래픽이 집중 되겠지
근데 설치를 안해준다니


여튼 이건 중요한 내용이 아니니 패스를 하고
여튼간에 SKT 4G LTE raider를 샀다


2. LTE속도는 wifi 그 이상으로 빠르게 나옵니다
다른분들은 모르겠는데 휴대폰으로 wifi 속도가 나오니 꽤 쾌적하네요
일단 LTE존 들어가면 초광속
하지만 지하철 전 구간이 LTE존이 인 것은 아닙니다
게다가 베터리도 초 광속으로 빠집니다
그래도 최소한 인터넷은 되니까 만족합니다 예전에는 카카오톡 조차 안되었거든요


 3. 디자인은 개인적으로 실망이 많이 많이 컸습니다
 HTC특유의 멋진 디자인(특히 dhd 정도의)을 기대했는데 너무 뒷태가 멋이 없어서 많이 실망했습니다
 뒷면은 참 멋 없습니다
 하지만 전면부는 꽤 이쁩니다
 유광에 곡선처리된 본체 상당히 괜찮습니다 근데 뒷면이 쫌..........
 저는 헬투에 투명 젤케 씌운게 정말 이쁘더군요


 4. 그립감
 헬투는 그립감 굉장히 안좋습니다 너무 얇아서 -0-
 그래서 투명 젤케를 씌워야 딱 손에 챡 달라 붙고 좋습니다
 레이더는 그냥 써도 두꺼워서 그런지 나쁘지 않네요
 특히 뒷면과 옆면이 경사지게 되어있어서 그게 의외로 지탱하는거에 도움이 됩니다


5. 무게
 무게는 솔직히 갤럭시가 사기적으로 가벼운거죠 ㅠㅠㅠ
 HTC폰이야 원래 무거우니 아예 기대 안했습니다
 어치피 뭐 익숙해지면 괜찮습니다


6. 4.5인치 vs 4.3인치
 크기 차이를 별로 못 느꼈습니다
 상하길이가 길어졌던데 그래서인지 우와 화면 크다! 하는 느낌이 적었습니다
 3.7->4.3은 진짜 신세계인데....


 7. 인터넷
 인터넷 하기는 좋습니다
 LTE에다가 qHD라 표시 되는 정보도 많고 액정도 길어서 웹에서 텍스트 읽기에 좋습니다


 8. 폰 자체의 완성도
 저는 의외로 괜찮네요
 유격도 없고 점점 품질 관리 능력이 증가하나봅니다


 9. 소프트웨어
 저는 센스ui를 좋아합니다
 스마트폰 쓰는 분들 중에 옛날 버릇 때문에 습관적으로 자꾸 프로세스 종료하는분들 많은데
 윈도우7 쓰시면서 그러는분 계신가요 ctrl + shift + esc 눌러서 메모리 얼마나 쓰시는지 보세요......

 기본적으로 메모리에 상주해있는게 많긴 합니다
 근데 어차피 메모리 용량 많이 필요한 프로그램 돌리면(게임같은거) os에서 다 알아서 메모리 확보해줍니다
 걱정하지 마세요
 가끔 메모리 반환 안하고 걍 차지한채로 죽는 어플은 직접 죽이셔야겠지만 그 외에는 계속 그렇게 신경쓰실필요 없습니다

HTC가 문제인지 SKT가 문제인지 모르겠는데
 가끔 리붓됩니다(7일동안 2번정도)
 메모리 반환, 해제쪽에 뭔가 문제가 있어보이는데 정확히 이유는 잘 모르겠습니다

 더불어 뭔가 뚱뚱한 느낌이 많이 듭니다(재부팅 하면 해결이 되긴 합니다)
 dhd에 센스 3.0 올려도 이렇지는 않았는데
 소프트웨어쪽 완성도가 좀 미흡하네요

 문자 메세지도 시간이 엉기고 가끔 3개씩 오거나 3개씩 보내지기도 하고 에효..
 (이건 go sms 같은 프로그램 사용하면 되긴 합니다)

 폰의 소프트웨어 완성도 하면 HTC 커펌이 진짜 최강급인데
 아 빨리 커펌으로 어떻게 해결좀 했으면 좋겠습니다

 아 소프트웨어 이야기 해야죠

 아직 버그가 있습니다
 커널이 꽤 죽네요
 문자오고 전화 올 때 갑자기 죽었습니다

 정확한 이유는 모르겠는데 나온지 얼마 안되서 아직 버그픽스가 덜 되어서 그런거라 생각합니다
 물론 그렇다고 전화만 오면 폰 재부팅 되는 버그 쓰레기 폰이네? 라고 해석하지 마시고 그런 경우도 있다고 정도로 알아두세요


 10. 베터리

베터리 답이 없다
진짜 답이 없다
중간에 충전해서 기울기가 올라가는 구간을 제외하고 일단 사용을 하면 수직 하강한다

진짜 dhd 쓸 때도 이정도는 아니었는데 레이더는 정말 미친듯이 베터리가 빠진다
만약에 회사 다니면서 충전할 수 있는 조건이 아니라면 반드시 베터리를 2개 이상 가지고 다니자
다시 한번 말하지만 정말로 심각하게 베터리가 빠진다

여태까지 사용해본 그 어떤 스마트폰 보다도 빠르게 줄어든다
제가 진짜 웬만하면 베터리 가지고 불평 안하는데요 이건 정말 심하다......

그런데 문제는 모든 4G 폰이 다 똑같다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

옵티머스LTE, EVO4G 모오오오두 베터리 때문에 고생하더라


 스마트폰 잘 안써보신 분들이 갤럭시S2 베터리 빨리 샌다고 불평하시는데
 갤S2 베터리 굉장히 오래가는 편이라고 생각합니다
 최소한 평균 이상은 되요
 특히 대기시간 동안 소모되는 량은 사기수준

 제가 맛폰을 좀 많이 써봤는데 s2로 베러리 불평하는 분들은 진짜 걍 피쳐폰으로 ㄱㄱㄱ


 11. 기타 qHD해상도?

 qHD해상도가 나온지 좀 되어서인지 의외로 어플들이 지원을 하네요
 물론 지원 안하는 어플들은 확인 버튼이 좀 다른 위치에 있는다든지 아이콘이 비뚤어졌다든지 하는 문제가 있긴 합니다
 전 qHD쓰면 아무것도 못 할줄 알았는데 아니더군요
 알아서 늘어나거나 걍 빈 공간으로 남거나 어떻게든 쓸 수는 있네요
 근데 역시 인터넷 할 때 편해요
 게임은 아직 안해봐서 죄송합니다


 12. 동영상
 좋네요 s2 처럼 특정색상 색쏠림도 없고
 mx랑 dice 있으면 엥간한건 다 돌립니다(mx는 armv7 받으시길)
 4.5인치 보다는 5인치는 되야 우와아아아아!!! 할 것 같습니다


 13. 기타
 기본적으로 부드럽고 빠릅니다(요즘폰은 거의 다 그렇죠 심지어 LG폰도 빠를껄요)
 광택나는 바디라서 지문이 잘 묻습니다^^;
 HTC휴대폰의 단점인 통화소리가 작다는건 많이 개선되었네요 나쁘지 않았습니다
 외장 스피커도 좋은 것 같았구요

 아 ....
 16GB 외장 메모리라고 써있는데 이거 뻥입니다
 실제 8GB구요 그 8GB도 4MB/s 정도로 엄청 느린 메모리입니다
 갤S2는 메모리가 무쟈게 빠르거든요 근데 라이더는 진짜 아오..............이건 해도해도 너무했다
 sd카드 사서 끼고 싶은 생각이 간절합니다

 sd카드가 들어있는게 아니구요 본체 내장형입니다
 발열은 요즘 듀얼 코어 휴대폰이 다 그렇듯 어느정도 있습니다
 하지만 겨울이라 있으면 좋죠 뭐 따뜻하고

 아 그리고 아트릭스는 4인치에 qHD에 펜타일이라 가독성이 사망수준인데
 라이더는 qHD해상도지만 4.5인치라 꽤 글씨 큽니다 

 오히려 해상도좀 720p로 높혔으면 좋겠다는 생각이 들 정도에요
 진짜 좀 720p 해주면 안되나 ㅠㅠㅠ


14. 추가로 카메라 성능

카메라 성능이 좋습니다

일단 셔터랙이 없습니다 진짜 빠릅니다

셔터 버튼 누르면 랙 없이 바로 찰칵 하고 찍힙니다

연타하면 진짜 연타하는 만큼 찰칵찰칵 계속 찍힐정도로 셔터랙이 거의 없습니다

참으로 신기하네요 그정도로 프로세싱이 빠른건지

그리고 AF 저광량인데도 잘 잡습니다 이게 가장 신기하더군요

Posted by 쵸코케키

2011. 12. 4. 18:23 Volatile

NCsoft 면접

까먹고 있다가 지금서야 작성해본다
내가 지원했던 분야는 소프트웨어 개발쪽이었다(정확히 기억이 안남)

NCSOFT 필기 시험의 난이도는 정말 쉽다
진짜 서울4년제 컴공과 학생들이 정상적으로 수업시간에 수업들었으면
공부 전혀 안하고 가도 합격하는 것이 정상인 수준의 난이도이다

만약 떨어졌으면 그건 진짜 심.각.하.게 문제가 있는 사람이다
시험을 치루는 지원자 대부분이 쉽게 쉽게 풀어낸다


1차 면접
1차 면접에 관한 정보를 인터넷에서 열라게 뒤져도 진짜 하나도 안나오더라
심지어 NCsoft 채용 절차 가봐도 정보가 하나도 안나온다

그래서...........
나는 인성 면접에 올인한 다음에 냅다 갔다

그런데 기술 면접이었다
시발............................................................................



특이하게 NCsoft의 면접은 자율 복장에다가
면접관이 1명이고 면접자가 3명이다

처음에 들어가서 자기 소개를 해보라고 하셨다
그래서 나는 우렁찬 목소리로
"안녕하십니까!, ~~~해서 #@$@#$를 하고 싶은 |@@@입니다"
이런식으로 말을 하니까

중단을 시키셨다
"아니 왜 그러세요ㅋㅋㅋ 우리 개발자이잖아요 ㅋㅋㅋㅋ 이러지 마세요 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ"
라고 말씀하시더라 ㅠㅠㅠ

같이 온 지원자들의 상태는 정말 좋지 않았다
내 옆에 있던 사람중 하나는 자기 소개하는데 진짜 이랬다
"제가 가장 좋아하는건 여자친구구요 좋아하는 음식은 케잌이구요....."
.................................................

그리고 내 옆의 다른 지원자는 아예 말하면서 의자를 흔들 흔들 
진짜 다른 학과 지원자들이 봤으면 미쳤네????????? 라고 할법한 모습을 보여줬다


자 왜 이렇게 쓸데 없는 이야기를 길게 했을까?
무슨 의미인고하니
복장이나 외모 이런거 상관이 없다는 소리이다

진짜 기술면접이다

그냥 단순한 tcp vs udp 이런거 안물어보고 만약에 그런걸 물어봤다고 해도
정말로 교수님께서 이야기 해주시지 않으면 거의 모를법한 내용들만 물어본다
흔히 원서 볼 때 우리가 에이 별로 안 중요한거 같은데라고 넘기는 부분들!!
하지만 실제로 이런게 의외로 중요하구나 바로 [이유]라는 부분!!

그냥 우리가 공부할 때 a는 b이다 그렇기 때문에 c라는 방법을 사용해야한다 이런식으로 한다면
질문의 절차는 이런식이다

Q. a를 하려는데 어떻게 해야할까요?
A. c라는 방법을 활용해야합니다
Q. 그럼 왜 c라는 방법을 사용하죠?
A. 그건 b이기 때문입니다
Q. 그럼 b 대신 d는 안될까요? 왜 b이기 때문이죠?
A. 답을 할 수 있을리가 없지 보통a랑 c만 기억하는게 기본이고 b를 용케 흝어서 지나갔다고 해도 왜 b를 사용했지? 에 대한 진지한 의문을 가져본 사람은 드물테니까

다시말해 진짜 함수면 함수, 이론이면 이론의 원리를 정확하게 알아야 혹은 사용하면서 최소한
왜? 라고 물음을 던져 봐야 알법한 내용들을 물어봤다

구체적으로 열거해보고 싶지만 그러면 안되므로 ㅋㅋㅋ 패스
어차피 말해줘도 구글에서 검색해도 안나온다


그렇게 간단한 기술에 관해서 몇 가지를 물어보고 자신이 가장 자신있어 하는 언어에 대한 몇 가지 이야기를 추가로 물어봤다
(기술도 터무니 없이 어려운거 안물어본다 괜히 쓸데없이 hypervisor 막 이런 최신기술 필요없음)

그리고 마지막으로 종이에 연필로 간단히 수도코드 짜기를 했는데 별로 어려운건 아니었다
생각을 조금 다르게 하면 쉽게 짤 수 있는 그런 것들이었다
뭐 복잡하게 퀵소트 짜기 이런거 안한다

코드는 짰지만 기술면접에서 너무 발려서 결국 탈락 ㅠㅠㅠ


바로 옆에 있던 틱 장애인 처럼 의자에서 몸을 앞뒤로 흔들 흔들하며 면접 보던분은 나이가 30가까이 되셨었는데 실제 개발일을 하다가 온 분이었다
보통 인터넷 카페 같은데 가보면 일하다가 온 사람들 쉽게 나갈까봐 회사에 대한 충성심이 적을까봐 기피한다고 하는 이야기가 많다
그리고 왜 회사를 옮겼어요? 라고 하는 물음에 가장 좋지 못한 대답이 급여라고 들었는데

그분은 그냥 당당하게 급여가 적어서 옮겼습니다 라고 말을 했었다
아니지 습니다도 아니라 그냥 옮겼어요 라고 자연스럽게 말하드라 ㅡㅡ
그런데 면접관님은 개발자의 세계, 치킨집 사장님의 세계를 이미 다 알고 계신지라 그냥 수긍하며 이해하더라
역시 인터넷 카페에 있는거 다 믿을꺼 못 된다

그리고 2년 미만 일하다가 와서 신입으로 지원이 가능했고 일을 한 경력 때문에 프로세스에 관한 전문 용어도 서로 통하는지 뭐라고 서로 쏼라쏼라 대화하다가 둘이 웃으면서 헤어졌다

뭐 그 분 보나마나 합격이겠지


아 제가 가장 좋아하는 사람은 여자친구구요 이렇게 자기 소개한 사람은 어떻게 되었을지 모르겠네

결론은 1차 면접은 기술면접이고 준비 확실하게 해가시길
저 처럼 인성 준비해가면 망함 ㅡㅡ

그리고 복장에 관해서 전혀 의미 없습니다 그냥 깔끔하게 입고 가세요
사복도 괜찮구요
어차피 실력으로 다 판별합니다



 

'Volatile' 카테고리의 다른 글

종교와 사람  (0) 2011.12.25
ARM assembly condition flag  (0) 2011.12.21
현업 개발자 횽들하고 대화  (1) 2011.12.04
안드로이드폰으로 푸바 원격 조정하기 리모컨처럼!!!  (1) 2011.11.21
ui  (0) 2011.11.01
Posted by 쵸코케키
1년 정도 먼저 아니 2년인가 
취업한 사람들과 말을 섞고 우연하게 얻어낸 귀중한 정보...

이런 정보 어디서도 없었는데 진짜 이래서 인맥인맥 하나보다

이야기를 대략 30분 정도 들었는데 학생 때 생각하는 것과 완전히 다른듯
지금 안주하고 있으면 안되겠다 하는 생각이 들었다

하나는 win ce계열 embedded 하나는 java? 정확히 잘 모르겠다

0. visual studio를 거의 안쓴다고 한다
이건 다소 의외였는데 생각해보니win api나 dx 쪽이 아닌이상 쓸일이 없는게 맞는 것 같기도 하다
 

1. 대신 beyond compare랑 source insight를 많이 사용한다고 한다
compare툴을 거의 사용 안하리라 생각했는데 정말로 많이 사용한다는 소리 때문에 놀랐고
(svn 같은 버전 관리 툴 때문에 자동으로 소스가 업데이트 되어서 그런다고 하는듯)

source insight가 먼지 잘 몰라서 또 놀랐다 들어는 본거 같은데......


2. 그냥 알아서 해야한다
이건 동감한다
그럴 것 같았다
지금 아버지께 컴퓨터나 스마트폰 사용법을 알려주는 것도 한두번도 아니고 꽤나 스트레스이다
사실 별거는 아닌데 같은 내용을 자꾸 물어보시고 내가 보기엔 별거 아닌것 같지만 말이지......
게다가 사람이라는게 한번에 바로 알아듣고 외울 수 있는 괴물도 아니고 동감한다

무엇인가 차근차근 차례 차례 알려주고 일을 배워서 한다 이런건 뭐 학생도 아니고
한두번이면 몰라도 계속 될 수는 없을 것이다

생각해봤는데 하루에 한두번 이정도가 고작일 것 같았다
미리 다 알고 있을 정도의 준비를 해놓거나
정보를 알 수 있는 방향을 준비 해놓거나
아니면 혼자서 해나갈 수 있는 정신력, 무너지지 않는 강인함이 있어야 할 것이라는 생각이 들었다
 


3. 소스코드의 갯수 10개? 장난하냐? 1만개에서 4만개가 넘어가는건 기본이야
할말을 잃었다
심지어 embedded 하는쪽도 소스코드의 갯수가 만만치 않단다
M$에서 제공하는 Win CE source code 용량이 1GB가 넘는단다
텍스트로 1GB가 넘는단다

바이너리가 아니라 텍스트로

물론 4만개의 소스코드를 다 사용하는 것이 아니라 그 중에서 100개에서 200개 정도만 실제 자신이 작업하는데에 사용한다고 한다

100개에서 200개..............................의 소스코드의 상호 연관성을 죄다 알고 있어야하는 것이다
처음에는 넋이 나가는데 7~8개월 정도 보고 있으면, 매일 보고 있으면 익숙해지는 느낌이 온다고 한다

그걸 이제서야 쉽게 말하지만 거꾸로 이야기하면 정신적인 스트레스를 7~8개월 동안 계속 하루 종일 받는 것이다
과연 그정도를 버터낼 수 있을 것인가

생각이 들었다
os과목에서 os를 만들어야 했었을 때 os source에 있는 수백개의 코드 파일들을 보고 이걸 어떻게 알아먹냐고 거의 포기 수준으로 갔었던 일이 떠올랐다

그런 것이 익숙해야 실제 현업에서는 일을 할 수 있는 것이었다

내가 생각했던 나는 그냥 조그마한 모듈만 만들면 되고 작은 프로그램 정도만 구현 하면 되는 그런건 정말로 터무니 없는 학생 수준의 생각이었던 것이다

그래서 최소한 리눅스 소스 코드나 많이 봐두어야겠다고 마음먹었다
디바이스 드라이버 개발하게 되면 많이 도움이 되겠지
그런데 뭐 어떻게 봐야할지 잘 모르겠네


4. main 함수가 없다
embedded 이야기 인줄 알았다
그런데 그런게 아니라고 한다
펌웨어 이야기인줄 알았는데 아니란다

죄다 콜백 함수라서 흐름을 파악해서 뭔가 하는거를
포기하는게 좋다고 한다
callback function에 대해서 좀 더 공부해둬야겠다
별로 안 쓰일줄 알았는데 미친생각이었구나


5. 내가 코드를 짜서 올렸는데 다른 사람의 파트가 동작을 하지 않는다 
static, global, local, process, thread, signal 등등 정말 별 것 아닌것 같은 부분들이
진정으로 중요하구나 라는 것을 뼈져리게 깨달았다

아직도 context 공유라든지 범위라든지 헷갈리는 부분들이 많은데
매 때 마다 정보를 찾아볼 수도 없는 노릇이고 이 부분은 필히 외우도록 해야겠다


6. 학생 때의 코드를 짜는 것이 아니다 모든 예외 처리를 해라
학생 때는 솔직히 주어진 범위 내에서만 대충 돌아가게 하면 되었는데 실제로는 비정상적 용도에 의한 예외 처리를 반드시 철저하게 해줘야한다는 사실을 알게 되었다
그렇게 하지 않으면 qa로 부터 지적이 날아온다고......

 
7. 코드의 품질에 대해 신경쓰지 않게 된다
죄다 static 죄다 global로 선언해버린다나 머라나
집에 일찍 들어가기 vs 남아서 일하면서 코드 품질 높히기
어떤 것을 선택하게 될까......

이건 지양해야겠다


그 외의 기타 부분들은 기억이 잘 나지가 않는다 

'Volatile' 카테고리의 다른 글

ARM assembly condition flag  (0) 2011.12.21
NCsoft 면접  (2) 2011.12.04
안드로이드폰으로 푸바 원격 조정하기 리모컨처럼!!!  (1) 2011.11.21
ui  (0) 2011.11.01
google trends  (0) 2011.10.20
Posted by 쵸코케키

기존에 써 놓았던 안드로이드 mp3 플레이어 비교글이 다소 오래되었기 때문에 다시 작성해보았습니다


가장먼저...
저는 휴대폰으로 음악듣는 것을 별로 달가와하지 않습니다
1. 베터리가 가뜩이나 부족한데 더 빨리달고
2. 화이트 노이즈가 사실상 모든 휴대폰에 존재하며(소니, 아이폰은 안써봐서 ㅈㅅ)
3. 음악 재생용으로 개발된 것이 아니라 그런지 디코딩 칩이 좋아도 음질이 별로이며
   (물리적인거라 플레이어 좋은거 깐다고 되는게 아님)
4. 인터페이스가 별로다

물론 음질에 관해서 휴대용 기기가 음질을 따지는게 웃기죠
지하철에서 음악들으면서 무슨 음질을 논하는지 ㅋㅋㅋ
아무리 커스텀 몰딩에 수백만원 짜리 이어폰 할아버지 데려와도 소용 없습니다

지하철이나 버스 같은 이동 공간에서 벗어나
혼자서 독서실이나 도서관에서 가만히 앉아 들을 경우에도 최소한 휴대폰은 아닙니다
진~~~짜 진지한 음감용으로는 아닙니다
가벼이 들을 수는 있겠지만 뭐 음질이 어떻다느니 이런걸 논할 수준의 기기는 아니죠
그런걸 논하는걸 보고 싶지도 않고 그냥 웃음이 나올뿐입니다


인터페이스 이야기가 나와서 말인데
저는 상식적으로 진저브레드까지나 올라왔는데도 락(잠금) 화면과 
음악 재생 플레이어가 여전히 결합이 안된다는게 이해가 안되네요

물론 기본 음악 재생 플레이어는 결합이 되긴 하는데
매우 허접한 외형을 보여주죠(HTC 센스 제외)

여튼 길고 긴 서론은 패스하고 이제 본론 들어가봅니다



본격 비교 시작
어떤 플레이어가 있는지 다 알 수 없기 때문에
마켙에서 LRC, MP3, FLAC 정도로 검색해서 받았습니다


어매우리칸 스따일(american style)로 결론부터 말씀드리겠습니다
아.직.도 완벽한 플레이어가 없습니다...........OTL.....................



실험 환경은 qHD해상도와 진저브레드 os인 레이더에서 했습니다


1. WinAMP 
 PC에서 굉장히 유명했던 프로그램이죠
 그런데 안드로이드에서는 소문이 굉장히 안좋더군요 재생 자체가 안된다나 머라나
 제가 WinAMP를 마켙에서 FLAC 검색어로 찾아서 다운을 받았거든요?
 그런데 FLAC 재생을 지원하지 않습니다
 ?????????????????????????????????????????????????????????????????????
 첫 인상부터가 매우 나뻤습니다
-> 이제 재생 된다 하옵니다
 
 인터페이스 
 다른 플레이어들 보다 딱히 더 나은 부분은 없습니다
 먼저 나온 플레이어들을 벤치마킹 했는지 비슷비슷합니다 평범하구요......
 아 재생 중에 편리한 부분이 하나 있긴 하네요 bar를 아래에서 위로 올리면 재생 중인 곡이 나오는데
 그냥 좀 편리하다 이정도로 보시면 됩니다 말로 설명할 수가 없군요
 
 외형
 PC에서 윈앰프 하면 화려한 테마가 생각납니다
 그런데 제가 못 찾는건지 안드로이드에서는 테마 기능이 없네요?
 혹시나 해서 마켙에서 검색해봤지만 역시나 없군요
  
 기능
 wifi로 pc와 싱크가 된다고 하더군요
 아마도 휴대폰이 리모컨 기능을 해서 컴퓨터의 음악 재생을 조정할 수 있게 하는 기능인듯 싶네요
 예전에 글을 올렸던 foobar와 android phone의 sync 처럼 되는 기능인가 하고
 대박이다!!를 마음속으로 외치면서 쉽게 되길 빌었지만 아쉽게도 안되더군요
 아마도 wifi망이랑 pc의 인터넷 망이랑 같은 공유기를 사용해야 되는 것 같더군요
 (ip address나 port 설정 같은 부분이 일체 없습니다) 

 재생 
 flac 파일 지원 안합니다
 가사 지원 안합니다
  
 위젯
 평범합니다
 그나마 좀 위젯이 잘생겼네요
  
 기타 
 일본어 지원함
 그런데 s-jis인가 먼가 컴퓨터에서도 쌻쨝뾻 하고 깨지는 파일들은 안드로이드에서도 안뜸
 (모든 플레이어 공통 이하 생략)
 
 결론
 그 흔한 엘범 커버 찾아주는 기능도 없으며
 가사도 지원 안하는 것 같고
 이퀄라이져는 유료이며
 딱히 화려한 외관도 없고
 왜 쓰는지 모르겠네요
 wifi sync되는 분들은 아마 최고의 플레이어일 수도 있겠습니다만


2. XingPlayer(씽 플레이어)
  검색했더니 이런 어플도 있네요
  옛날 90년대 pc계열을 주름 잡았던? XingPlayer랑 같은 제작사인지 모르겠습니다
  요즘 뜨는 어플이라고 하던데......
  
  인터페이스
   ..............
 
  외형
  그냥 외형 디자인 포기함
 
  기능
  기능이 없음......(진짜로)
  
  재생
  flac지원 안함
  LRC, 가사 다운로드 지원함
   
  위젯
  가장 구림
  디자인도 별로고 심지어 크기 조절도 없음
  엘범 커버 조차 나오지 않으며 그냥 진짜 위젯이라는 기능을 겨우 구현한 수준임
  
  기타
  왜씀? 이해가 안되네 

  결론
  이 플레이어 정말 짱이라고 추천하시는 분들   
  한번 왜 사용하는지 저랑 1:1로 진지하게 이야기 나눠보실 의향 없으십니까?
  -> 궁금해서 한번 검색해봤더니 노래방 기능 비슷한게 지원이 되어서 한국 노래를 들을 때는 좋다고 하네요 

  

3. PlayerPro Music Player(BlastOn LLC)

   왜 이렇게 어플 이름을 ㅄ같이 지었을까
   그래서 덕분에 검색하는데도 오래걸리고 힘들고 다른거랑 엉켜서 잘 나오지도 않고 참......
   마켙에서 PlayerPro로 검색하면 Trial 버전이 있습니다
   

  인터페이스
  편리합니다
  개인적으로 빠와앰프 보다 더 편리합니다
  플레이어 누르면 자기가 고르고 싶은 정렬 방법이 쭉 뜹니다
  엘범으로 보기, 장르로 보기, 폴더로 보기 등등등
  그리고 재생 중에 다른 메뉴로 들어가는 것도 매우 손 쉽게 되어있습니다
  그리고 빠와앰프보다 인터페이스 전환이 많이 빠릅니다
  

  외형

   주로 엘범 커버가 많이 노출됩니다
   그리고 테마기능(Skin)이 있어서 마켙에서 여러 스킨을 다운 받아 적용할 수 있습니다
   그냥 딱히 멋지지도 나쁘지도 않네요


  기능

 

   많습니다 옵션도 많구요
   특히 엘범 커버쪽 기능이 상당합니다

   파워 엠프에서 헤메는 못 찾는 커버 같은거도 자기가 알아서 붙여넣고
   꽤 마이너한 일본 그룹의 음원이 있는데 얘네 꺼도 알아서 찾네요 -0- 어떻게 찾은거지;;;
   아티스트를 누르면 아티스트 모습이 나오고 (자동 다운) 장르를 누르면 장르 이미지가 나오고
   이런식입니다
  
   기능 중에 엘범 명으로 인터넷 검색을 하는 것이 있는데 아쉽게 일본어 엘범명 검색은 안되네요
   글씨가 깨집니다(일본어 표시는 잘 되요 검색만 안될뿐이지)
   

  재생 

   (파워앰프에서 깨지는 일본어도 여기서는 정상으로 나오네요) 
 
FLAC 됩니다 그런데 LRC(가사) 기능을 지원하지 않습니다  
  
이퀄라이저도 있습니다
 

  위젯

   다양합니다
  2x2 부터 4x4 까지 다양한 크기를 지원합니다 


  결론
 
 꼭 한번은 써보세요
  마켙에서 PlayerPro로 검색하고 BLASTON LLC가 개발회사인걸 찾으면 됩니다 



4. PowerAMP



  인터페이스

  깔끔하고 일관성 있고 잘 정렬되어있습죠
 


  외형
 
일관성 있는 디자인
  디자인 면에서는 사실상 최고 다른 어플이 감히 넘보지 못합니다
   

  기능
  기능 면에서도 1, 2등을 다투긴 하지만 엘범 커버 기능이 좀 아쉽네요
  읽는 속도가 좀 많이 느립니다
  캐시 기능이 없는건지 이 부분은 필히 수정해야할 것 같습니다
 
  그냥 기본 모드에서는 엘범 커버를 잘 못 찾는데 옵션 들어가셔서
  download album art 기능 켜주시기를 추천합니다
  물론 wifi 켜있을 때만 다운로드 하기 옵션도 있으니 안심하시구요

  추가로 start up screen 기능도 마음에 듭니다
  실행하자마자 폴더를 볼지 자기가 재생하던 음악을 볼지 등등의 설정이죠

  
  재생

  (일본어 깨지는 단어도 있네요)
  FLAC 됩니다
  이퀄라이져 당연히 있구요
  외국산 플레이어라 알쏭 가사 지원 안합니다


  위젯

  (위젯을 추가할 때 투명도 조절이 가능합니다)
  마음에 듭니다
  특히 일관된 네온효과가 좋네요
 

  결론
  엘범 커버쪽이 다소 아쉽긴 하지만 그 외의 완성도 부분에서는 사실상
  탑급이 아닌가 생각합니다
  하지만 앞으로도 영원히 알쏭 가사파일 LRC 지원이 없을 것이 분명하기 때문에 ㅠㅠㅠ
  많이 아쉽네요
  플러그인 기능 지원이라도 해줬으면 그나마 희망이라도 생기는데 아아아
  


5. MyMusicOn
   웬 듣보잡? 이라고 하실 분들도 계실지 모르겠지만 의외로 굉장히 후륭한 플레이어 입니다

  인터페이스
   아쉽게도 좋지는 않습니다
   그렇다고 으악 너무 불편해서 못 사용하겠어!!!!!!!!!
   하는 수준은 아닙니다 단지 빠와앰프 같이 깔끔한 모습은 아니라는거죠
 
  외형

  그냥 저냥 그렇습니다
  특히 이쁘거나 하지 않습니다
 
  기능

  여기까지만 보면 그럼 도대체 왜 이 플레이어를 사용하냐?? 고 물으실 분들이 계시겠지요
  이 플레이어에는 다른 전세계의 어느 플레이어도 갖추지 못한
  심지어 수빠 빠와 앰프(PowerAMP 정품)도 갖추지 못한 아주 놀라운 기능이 있습니다
  바로 볼륨 미세 조절 기능입니다
  
  안드로이드 음악 재생 어플들의 단점이 볼륨조절 폭이 너무 심하게 좁다는 점인데요
  아주 환장하죠
  가장 작게 볼륨을 맞춰 놓아도 조용한 도서관에서 들으면 크다 이말씀 입니다
  아니면 적당히 맞추고 싶은데 한단계 올리면 너무 크고 한단계 내리면 너무 작고
  나의 소중한 귀에 이런 무식한 볼륨은 정말 용납될 수 없습니다
 
  평소에 지하철이나 버스 타시면서 안드로이드폰으로 볼륨 꽤 올려서 듣는분들
  조용한 장소에 가서 똑같이 들어보세요
  엄청 크게 들리시죠?
  만약 그런 느낌이 없으시면 이미 귓속에 있는 청세포들이 죄다 누워서 죽은거구요
  향후 몇 십년 이내로 청력에 심각한 질환이 있을 것이라 확신합니다
  불행히 청력쪽은 줄기세포 기술이 성공하지 않는 한 치료 방법이 없거든요
 
  여튼간에 볼륨 조절이 MyMusicOn 플레이어만 유일하게 세밀하게 됩니다
  이 기능 하나로 다른 불편함과 이쁘지 않은 외형은 모두 커버가 됩니다
 
 재생

  FLAC 지원 안합니다
  국산 플레이어들이 공통적으로 FLAC을 지원 안하는거 보니 라이브러리가 비공개 이거나
  포팅하기가 굉장히 까다로운가 보네요
 

 위젯 

  불행히도 크기조절 이런건 없습니다
  다만 그나마 다행인게 기본 위젯이 반투명에 핑크색이라 봐줄만은 합니다
  하지만 역시나 허접하네요
 
 기타
  앞으로 개선해야할 점들이 정말 산 넘어 산......
 
 결론
  볼륨 미세 조절 기능하고 알쏭 가사 지원 이 두가지 때문에 사용하는 프로그램 





5가지 플레이어들 조사 후기
많이 아쉽네요
모든게 완벽한 플레이어가 없다니......

안드로이드가 나온지 오래되었음에도 불구하고 여전히 볼륨 조절 미세에 관련해서 필요성을 느끼는 사람이 아무도 없는 것인지 오직 플레이어 하나만이 지원할 뿐이고
한국에서 만든 재생 소프트웨어는 사실상 완성도가 시망수준

구글에서는 생각이 있는건지 없는건지 여전히 락 스크린이나 퀵 바? notification bar? 랑 통합할 수 있는 api를 지원안하는듯 싶고 에휴


일본어의 경우 컴퓨터에서도 잘 뜨지 않는 이상한 s-jis인가 먼가하는 글자들은 폰에서도 안뜹니다
아마 일본 구글os를 받아서 깔거나 일본 mp3 player를 일본 안드로이드 마켙에서 받아서 깔지 않는 이상 해결이 안될듯...(아마 일본 안드로이드 마켙은 자국폰만 접속될껄요)

그냥 엥간하면 휴대폰 살 때 주는 내장 플레이어로 그냥 음악 듣고
가사 지원이 필요하다 싶으면 MyMusicOn 정도를 사용하면 되겠네요
물론 친구랑 같이 노래부르면서 춤추고 싶으면 ass 파일이 지원 되는 XingPlayer를 사용하시면 되겠구요
FLAC 꼭 들어야하나요?
ㅠㅠㅠ 인코딩 해서 넣기 귀찮으면 PowerAMP나 PlayerPro 정도를 사용하면 될 듯 싶네요 

아 리모컨 기능 필요하면 WinAMp ㅋㅋㅋㅋㅋㅋ
물론 안될 수 있음ㅋㅋㅋ 


아 여담이지만 가끔 이퀄라이져 조절이 된다고 음질이 최강이라고 하는 분들이 있는데
이퀄라이져로 음질을 향상 시키는건 불가능 합니다

단지 자신의 취향에 맞게 튜닝을 다소 하는 것 뿐이죠

 

Posted by 쵸코케키

http://stackoverflow.com/questions/6083045/scanf-n-skips-the-2nd-input-but-n-does-not-why
http://in.answers.yahoo.com/question/index?qid=20110318044732AAaBz8P

위 두 링크에서 배웠습니다


scanf로 입력 받을 때 매번 \n을 fflush(stdin)으로 빼버리는 것도 뭔가 좀 걸리적 거리기도 하고
성능상 불 이익이 있을 것 같은 느낌이 들어서 좀 찾아봤습니다

재미있는 좋은 팁을 얻었네요

1. scanf의 포맷팅을 미리 char*형으로 선언해놓기
2. *지시자
3. [^]xor 용법


char* fmt = "%[^\n]%*c";

char str1, str2;
scanf(fmt, &str1);
scanf(fmt, &str2);


해설
1. 키보드로 입력한다
2. stdin이라는 일종의 버퍼(메모리)로 값이 들어간다
3. scanf 함수가 이제 그녀석을 차례로 순서대로 읽기 시작한다
쉽게 이해를 해보자면 stdin은 일종의 배열로 scanf는 pointer로 루프문 탐색을 시작한다고 보면 된다

4. []는 그 안에 있는 것만 받고 싶습니다 하는 그런거라 보면 된다

5. ^는 xor연산이다
다르면 1이고 같으면 무조건 0이다
그런고로 \n과 같은 값이면(\n도 일종의 숫자값이다) 0을 넘기고
다르면 1을 넘긴다 즉 2진 연산을 통해서 \n만 걸러낸다고 보면 된다

즉 %[^\n] 는 scanf가 stdin에 입력된 글자 한자 한자를 살펴보면서 \n인가 체크 하고
\n이 아닌놈만 읽어낸다는 의미이다


6. \n을 제외한 나머지 글자들은 모두 읽히고 \n은 그대로 stdin에 남아있게 된다

7. *는 걍 포인터 버려라는 의미이다
즉 scanf는 stdin에 혼자 남아있는 \n을 읽긴 읽는데 *때문에 걍 버린다
8. 끝
그런고로 fflush(stdin)을 사용할 필요 없이 그냥 *제한자로 간단히 처리가 되어버렸다

'devel > man & example' 카테고리의 다른 글

arm inline assembly  (0) 2011.12.24
thread starvation  (0) 2011.12.09
function pointer  (0) 2009.11.24
sprintf int to ascii  (0) 2009.11.08
C++ , C File OUTPUT e.g.  (0) 2008.12.02
Posted by 쵸코케키

짤방은 와이파이 외에는 답이 없는 LGT의 인터넷


1. LGT에서 SKT로 옮겼습니다
인터넷이 됩니다 정말 신기하지 않나요?
카카오톡으로 사진도 보내집니다 ㅠㅠㅠ
2045년에 가능할 줄 알았는데 이야 멋지네요


2. LTE속도는 그냥 wifi 정도 비슷하게 나오는듯 싶습니다
다른분들은 모르겠는데 휴대폰으로 wifi 속도가 나오니 꽤 쾌적하네요
아직 많이 돌아다니지 않아서 LTE존이 어느정도 있는지는 잘 모르겠습니다
우선 지하철 모든 구간이 LTE인 것은 아닌듯 싶습니다 일부 구간에서는 3g로 전환되더군요
일단 LTE망 신호 좋고 사람 없으면 다운속도가 1메가를 넘어버리는 엄청난 모습도 보여줍니다
진짜 깜짝 놀랄정도로 빠른 속도죠......
LGT는 진짜 인터넷을 할 수가 없는데 SKT LTE로 넘어와서 진짜 속 시원합니다


3. 디자인은 개인적으로 실망이 많이 많이 컸습니다
HTC특유의 멋진 디자인(특히 dhd 정도의)을 기대했는데 너무 뒷태가 멋이 없어서 많이 실망했습니다
하지만 어머니께서는 오히려 예쁘다고 하시네요 광택나는 미끈거리는 모서리 곡선 처리가 마음에 드시나봅니다
저는 헬투에 투명 젤케 씌운게 정말 이쁘더군요
그래도 라이더 전면부는 꽤 이쁜편입니다 뒷태가 별로라 그렇지


4. 그립감
헬투는 그립감 굉장히 안좋습니다 너무 얇아서 -0-
그래서 투명 젤케를 씌워야 딱 손에 챡 달라 붙고 좋습니다
라이더는 그냥 써도 두꺼워서 그런지 나쁘지 않네요
특히 뒷면과 옆면이 경사지게 되어있어서 그게 의외로 지탱하는거에 도움이 됩니다


5. 무게
무게는 솔직히 갤럭시가 사기적으로 가벼운거죠 ㅠㅠㅠ
HTC폰이야 원래 무거우니 아예 기대 안했습니다
어치피 뭐 익숙해지면 괜찮습니다


6. 4.5인치 vs 4.3인치
크기 차이를 별로 못 느꼈습니다
상하길이가 길어졌던데 그래서인지 우와 화면 크다! 하는 느낌이 적었습니다
3.7->4.3은 진짜 신세계인데....


7. 인터넷
인터넷 하기는 좋습니다
LTE에다가 qHD라 표시 되는 정보도 많고 액정도 길어서 웹에서 텍스트 읽기에 좋습니다


8. 폰 자체의 완성도
저는 의외로 괜찮네요
유격도 없고 점점 품질 관리 능력이 증가하나봅니다


9. 소프트웨어
저는 센스ui를 좋아합니다
스마트폰 쓰는 분들 중에 옛날 버릇 때문에 습관적으로 자꾸 프로세스 종료하는분들 많은데
윈도우7 쓰시면서 그러는분 계신가요 ctrl + shift + esc 눌러서 메모리 얼마나 쓰시는지 보세요......

기본적으로 메모리에 상주해있는게 많긴 합니다
근데 어차피 메모리 용량 많이 필요한 프로그램 돌리면(게임같은거) os에서 다 알아서 메모리 확보해줍니다
걱정하지 마세요
가끔 메모리 반환 안하고 걍 차지한채로 죽는 어플은 직접 죽이셔야겠지만 그 외에는 계속 그렇게 신경쓰실필요 없습니다

아 소프트웨어 이야기 해야죠

아직 버그가 있습니다
커널이 꽤 자주 죽네요
문자오고 전화 올 때 갑자기 죽었습니다

정확한 이유는 모르겠는데 나온지 얼마 안되서 아직 버그픽스가 덜 되어서 그런거라 생각합니다
물론 그렇다고 전화만 오면 폰 재부팅 되는 버그 쓰레기 폰이네? 라고 해석하지 마시고 그런 경우도 있다고 정도로 알아두세요


10. 베터리
스마트폰 잘 안써보신 분들이 갤럭시S2 베터리 빨리 샌다고 불평하시는데
갤S2 베터리 굉장히 오래가는 편이라고 생각합니다
최소한 평균 이상은 되요
특히 대기시간 동안 소모되는 량은 사기수준

제가 맛폰을 좀 많이 써봤는데 s2로 베러리 불평하는 분들은 진짜 걍 피쳐폰으로 ㄱㄱㄱ

아 라이더요?
딱 dhd 정도 되는거 같네요
LTE모드로 인터넷을 활용하기 시작하면 베터리가 정말 빨리 답니다
(실시간 스트리밍이나 기타 파일 다운로드)

하나로는 좀 아슬아슬하구요 예비로 하나 챙기세요
대기시간은 나쁘지 않은듯
근데 뭐 사실 베터리 사용 문제는 LTE폰의 공통 문제입니다
시간이 해결해주겠죠


11. 기타 qHD?
qHD가 나온지 좀 되어서인지 의외로 어플들이 지원을 하네요
물론 지원 안하는 어플들은 확인 버튼이 좀 다른 위치에 있는다든지 아이콘이 비뚤어졌다든지 하는 문제가 있긴 합니다
전 qHD쓰면 아무것도 못 할줄 알았는데 아니더군요
알아서 늘어나거나 걍 빈 공간으로 남거나 어떻게든 쓸 수는 있네요
근데 역시 인터넷 할 때 편해요
근데 아마 LTE폰 해상도가 거의 720p일텐데 피차일반이라 생각합니다


12. 동영상
좋네요 s2 처럼 특정색상 색쏠림도 없고
mx랑 dice 있으면 엥간한건 다 돌립니다(mx는 armv7 받으시길)
4.5인치 보다는 5인치는 되야 우와아아아아!!! 할 것 같습니다
mx player는 아직 꽤 버그가 심각합니다
라이더에서 mx player의 사용을 추천하지 않습니다
dice player 사용하세요


13. 기타
기본적으로 부드럽고 빠릅니다(요즘폰은 거의 다 그렇죠 심지어 LG폰도 빠를껄요)
광택나는 바디라서 지문이 잘 묻습니다^^;
HTC휴대폰의 단점인 통화소리가 작다는건 많이 개선되었네요 나쁘지 않았습니다
외장 스피커도 좋은 것 같았구요

아 ....
16GB 외장 메모리라고 써있는데 이거 뻥입니다
실제 8GB구요 그 8GB도 4MB/s 정도로 엄청 느린 메모리입니다
갤S2는 메모리가 무쟈게 빠르거든요 근데 라이더는 진짜 아오..............이건 해도해도 너무했다
sd카드 사서 끼고 싶은 생각이 간절합니다

sd카드가 들어있는게 아니구요 본체 내장형입니다
발열은 겨울이라 몰라요 있으면 좋죠 뭐 따뜻하고

아 그리고 아트릭스는 4인치에 qHD에 펜타일이라 가독성이 사망수준인데
라이더는 qHD지만 4.5인치라 꽤 글씨 큽니다 오히려 해상도좀 720p로 높혔으면 좋겠다는 생각이 들 정도에요
진짜 좀 720p 해주면 안되나 ㅠㅠㅠ

해상도는 조금 아쉽네요

아 그리고 사진은 굉장히 잘 찍힙니다 깜짝 놀랄정도로요
AF속도도 진짜 빠르네요
게다가 저광량에서도 AF가 되는데 신기할 따름입니다
컨트라스트로 잡는것 같던데......

그리고 이 휴대폰은 국제 공통?모델입니다
그래서 12월 정도부터 xda에서 본격적으로 커스텀 펌웨어 개발 들어가면 아마 버프를 상당히 받으리라 생각합니다
내년 초 정도면 꽤 커롬도 많이 뜰 것 같네요


결론 : LTE역시 속도 빠르다 마음에 든다
하지만 휴대폰 디자인이 다소 아쉽다

Posted by 쵸코케키

*** 고농축 고순도의 초정밀 삽질을 통해서 발견한 조금 유용한 방법입니다
*** 어렵지 않습니다
*** 5분이면 합니다
*** 무선 공유기가 자신의 PC와 직접 연결 되어있지 않아도 됩니다
(즉 유선공유기에 PC와 무선공유기를 낑겨서 사용하는 분들도 자유로이 가능합니다)
 
 
 
0. 안드로이드 혹은 아이폰으로 푸바를 원격 조정하는 어플리케이션은 꽤 어느정도 있습니다
하지만 무선(휴대폰wifi)과 유선(컴퓨터)가 같은 공유기를 사용해야하는 단점이 있더군요
저만의 문제인지도 모르겠습니다만
foobar의 http protocol 컴포넌트를 활용한 원격 제어는 도무지 되지가 않네요
 
혹시 자신의 pc가 wifi와 유선망이 동시에 묶여있거나 강력한 푸바의 제어를 원하시는분께서는 하단의 링크를 참조해서 시도해보시기 바랍니다
http://www.foobar2000.org/components/view/foo_httpcontrol
만약 성공하시면 생각보다 놀라운 원격 제어가 가능하다고 합니다
물론 저는 실패했습니다
(참고로 6시간이 넘게 모든 할 수 있는 행위를 다 해본뒤에 안되서 포기했습니다)
 
 
 
 
그 외의 분들
즉 0번의 방법이 안되는 분들을 위한 가이드
 
 
1. 안드로이드 폰으로
https://market.android.com/details?id=info.kfsoft.android.MyRemote&feature=search_result#?t=W251bGwsMSwxLDEsImluZm8ua2Zzb2Z0LmFuZHJvaWQuTXlSZW1vdGUiXQ..
에 가셔서 다운로드를 받습니다
 
마켙에서 wifi remote로 검색하시면 KF Software House 어플리케이션이 나옵니다 설치하세요
 
 
 
2. PC에 프로그램을 설치합시다
http://goo.gl/N6Ikv
(참고로 프로그램 개발 회사의 홈페이지 입니다 http://remote.kfsoft.info/ )
 
 
 
3. PC에 적당한 포트를 풀어줍니다 그리고 적절히 세팅을 합니다

 


포트 넘버는 풀려있는 포트 아무거나 넣어주시면 됩니다
저는 워크래프트3를 하기 때문에 6112포트가 풀려있어서 그냥 활용하기로 하였습니다
그리고 Pass code는 자유로이 설정하시기 바랍니다 이 숫자를 바꾸시면 외우셔야 합니다




프로그램tab을 보면 foobar가 없습니다 그런데 상관 없습니다 그냥 ok 눌러서 넘깁시다
뭔가 오류가 발생하는 화면이 나오지만 무시해도 됩니다
 
 
 
4. 휴대폰의 어플을 실행시켜서 메뉴키(휴대폰 홈버튼 보통 왼쪽에 있는 키)를 눌러 세팅으로 들어갑시다
다 아시겠죠?


첫번째는 자신의 ip 주소를 넣으시면 되고
두번째는 포트번호
세번째는 아까의 Pass Code를 넣으시면 됩니다
 
그 외에는 별 의미없는 설정들이 즐비하네요
 
 
 
5. 끝났습니다 사용하시면 됩니다

V버튼을 누르면 자신의 현재 pc 화면이 출력됩니다
생버튼 마지막 파트에 있는건 마우스 우클릭 기능이던데 왜 있는지는 잘 모르겠습니다
외의 내용들은 굳이 설명하지 않아도 되겠죠?

참고로 원격 조정 어플을 종료하고 싶으면 메뉴키를 눌러서 exit를 누르셔야합니다

다만 아쉬운점이  wasapi 를 사용해서 그런지 볼륨 조절이 전혀 먹히지가 않네요
리고 기능이 단순 재생 제어 외에는 없다는 것이 참 안타깝습니다

푸바의 http protocol 기능을 사용하면 환상이 펼쳐지긴 하는데 되지를 않네요
무선 통합 공유기를 사야하는건지 원......

'Volatile' 카테고리의 다른 글

NCsoft 면접  (2) 2011.12.04
현업 개발자 횽들하고 대화  (1) 2011.12.04
ui  (0) 2011.11.01
google trends  (0) 2011.10.20
삼성 자소서  (0) 2011.09.18
Posted by 쵸코케키

블로그 이미지
chocokeki
쵸코케키

공지사항

Yesterday
Today
Total

달력

 « |  » 2025.1
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

최근에 올라온 글

최근에 달린 댓글

글 보관함