'프로그램 사용'에 해당되는 글 2431건

  1. 2015.10.21 gcc 초기화 관련
  2. 2015.10.20 gimp fisheye correction
  3. 2015.10.20 hugin fisheye correction
  4. 2015.09.24 ssh X11 forwarding 속도 향상
  5. 2015.09.16 modbus 프로토콜
  6. 2015.09.15 vlc 옵션 -vvv
  7. 2015.09.11 dash with VLC
  8. 2015.09.10 nginx fastcgi 캐싱
  9. 2015.08.19 svn merge
  10. 2015.08.13 Xwin DISPLAY 고찰(?)
프로그램 사용/gcc2015. 10. 21. 11:33

C99 관련추가 내용인가?

일단은 GCC-2.5 이후 부터 지원하는 기능으로 보인다.

2009/05/28 - [Programming/C / Win32 / MFC] - C99 구조체 초기화 하기


5.22 Designated Initializers


Standard C89 requires the elements of an initializer to appear in a fixed order, the same as the order of the elements in the array or structure being initialized.


In ISO C99 you can give the elements in any order, specifying the array indices or structure field names they apply to, and GNU C allows this as an extension in C89 mode as well. This extension is not implemented in GNU C++.


To specify an array index, write `[index] =' before the element value. For example,


 

int a[6] = { [4] = 29, [2] = 15 };


is equivalent to


 

int a[6] = { 0, 0, 15, 0, 29, 0 };


The index values must be constant expressions, even if the array being initialized is automatic.


An alternative syntax for this which has been obsolete since GCC 2.5 but GCC still accepts is to write `[index]' before the element value, with no `='.


To initialize a range of elements to the same value, write `[first ... last] = value'. This is a GNU extension. For example,


 

int widths[] = { [0 ... 9] = 1, [10 ... 99] = 2, [100] = 3 };


If the value in it has side-effects, the side-effects will happen only once, not for each initialized field by the range initializer.


Note that the length of the array is the highest value specified plus one.


In a structure initializer, specify the name of a field to initialize with `.fieldname =' before the element value. For example, given the following structure,


 

struct point { int x, y; };


the following initialization


 

struct point p = { .y = yvalue, .x = xvalue };


is equivalent to


 

struct point p = { xvalue, yvalue };


Another syntax which has the same meaning, obsolete since GCC 2.5, is `fieldname:', as shown here:


 

struct point p = { y: yvalue, x: xvalue };


The `[index]' or `.fieldname' is known as a designator. You can also use a designator (or the obsolete colon syntax) when initializing a union, to specify which element of the union should be used. For example,


 

union foo { int i; double d; };


union foo f = { .d = 4 };


will convert 4 to a double to store it in the union using the second element. By contrast, casting 4 to type union foo would store it into the union as the integer i, since it is an integer. (See section 5.24 Cast to a Union Type.)


You can combine this technique of naming elements with ordinary C initialization of successive elements. Each initializer element that does not have a designator applies to the next consecutive element of the array or structure. For example,


 

int a[6] = { [1] = v1, v2, [4] = v4 };


is equivalent to


 

int a[6] = { 0, v1, v2, 0, v4, 0 };


Labeling the elements of an array initializer is especially useful when the indices are characters or belong to an enum type. For example:


 

int whitespace[256]

  = { [' '] = 1, ['\t'] = 1, ['\h'] = 1,

      ['\f'] = 1, ['\n'] = 1, ['\r'] = 1 };


You can also write a series of `.fieldname' and `[index]' designators before an `=' to specify a nested subobject to initialize; the list is taken relative to the subobject corresponding to the closest surrounding brace pair. For example, with the `struct point' declaration above:


 

struct point ptarray[10] = { [2].y = yv2, [2].x = xv2, [0].x = xv0 };


If the same field is initialized multiple times, it will have value from the last initialization. If any such overridden initialization has side-effect, it is unspecified whether the side-effect happens or not. Currently, gcc will discard them and issue a warning.


[링크 : https://gcc.gnu.org/onlinedocs/gcc-3.0.1/gcc_5.html]

'프로그램 사용 > gcc' 카테고리의 다른 글

gcc dependency .d 파일?  (0) 2016.03.28
gcc -M -MM  (0) 2015.12.17
precompiled header on GCC (라즈베리로 테스트)  (2) 2015.07.30
gcc에서 precompiled header 사용하기  (0) 2015.07.29
gcc 64bit 변수 선언하기  (0) 2015.07.14
Posted by 구차니
프로그램 사용/GIMP2015. 10. 20. 17:10

hugin 꺼 찾다 보니 gimp도 나오네


[링크 : http://docs.gimp.org/en/plug-in-lens-distortion.html]

Posted by 구차니
프로그램 사용/hugin2015. 10. 20. 17:10

뜬금없지만.. hugin에서 특징점 뽑는거.. 일종의 SIFT나 SURF 일려나?


[링크 : http://hugin.sourceforge.net/tutorials/perspective/en.shtml]

+ [링크 : http://docs.gimp.org/en/plug-in-lens-distortion.html]




+

Panomatic


From PanoTools.org Wiki

panomatic by Anael Orlinski is a tool for automatically creating control points for groups of overlapping photographs.


pan-o-matic is very similar in purpose to autopano-sift or autopano-sift-C and can be used from within hugin (and potentially other GUI front-ends[*]) as an optional control point generator.


pan-o-matic is Open Source and uses the SURF algorithm.

[링크 : http://hugin.sourceforge.net/docs/manual/Panomatic.html]

'프로그램 사용 > hugin' 카테고리의 다른 글

hugin 업그레이드~  (0) 2012.08.10
hugin - 2010.4.0 버전  (0) 2011.04.30
hugin - 광각 파노라마 합성  (4) 2010.08.20
hugin 방향이 다른 이미지 합성하기  (4) 2010.08.20
Hugin - Panorama photo stitcher  (4) 2010.08.19
Posted by 구차니



[링크 : http://xmodulo.com/how-to-speed-up-x11-forwarding-in-ssh.html]

 [링크 : http://blog.famzah.net/2010/06/11/openssh-ciphers-performance-benchmark/]

[링크 : http://www.cyberciti.biz/faq/speeding-up-ssh-x11-forwarding-with-unix-osx-linux-bsd/]

[링크 : http://ubuntuforums.org/showthread.php?t=1855933]


rpi2 + putty + xming 에서는

vlc 실행에 걸리는 시간이 차이가 거의 안나서.. 다른 좀 더 영상이 많다거나 하는 걸로 테스트 해봐야 할 듯..




Turn on compression to speed up your connection, and bring Blowfish to the top of the list. Blowfish is still relatively secure, but will be a heck of a lot quicker than AES at passing information as your computer doesn’t have to encrypt things so heavily.

[링크 : http://irrationale.com/2009/11/10/x11-over-ssh/]





Nagle 알고리즘은 패킷의 갯수를 줄이는 것

일단 적은 데이터(MTU 미만)에서는 응답속도와 tradeoff가 일어난다.

기본값은 off니까 빠릿빠릿하게 ssh 응답을 하는 듯?


4.12.4 "Disable Nagle's algorithm"


Nagle's algorithm is a detail of TCP/IP implementations that tries to minimise the number of small data packets sent down a network connection. With Nagle's algorithm enabled, PuTTY's bandwidth usage will be slightly more efficient; with it disabled, you may find you get a faster response to your keystrokes when connecting to some types of server.


The Nagle algorithm is disabled by default.

[링크 : http://the.earth.li/~sgtatham/putty/0.52/htmldoc/Chapter4.html]

Posted by 구차니

어쩌다 보니 듣게 된 프로토콜..

오토메이션 관련 de facto 프로토콜


[링크 : https://en.wikipedia.org/wiki/Modbus]

[링크 : http://irtfweb.ifa.hawaii.edu/~smokey/software/about/sixnet/modbus/modbus_protocol.pdf]

'프로그램 사용 > libmodbus' 카테고리의 다른 글

libmodbus 예제 프로그램  (0) 2022.05.04
libmodbus tcp 예제  (0) 2022.05.04
libmodbus  (0) 2022.05.03
modbus tcp 테스트 툴  (0) 2022.05.03
modbus tcp library  (0) 2022.04.25
Posted by 구차니
프로그램 사용/VLC2015. 9. 15. 12:00

너.. 정체가 모냐?

일단은... -vvv 옵션차이로 rtsp / http 스트리밍이 되기도 하고 안되기도 한다. -_-



      --v4l2-set-ctrls <문자열>

                                 v4l2 드라이버 제어

          Set the v4l2 driver controls to the values specified using a comma

          separated list optionally encapsulated by curly braces (e.g.:

          {video_bitrate=6000000,audio_crc=0,stream_type=3} ). To list

          available controls, increase verbosity (-vvv) or use the v4l2-ctl

          application.



      --verbose-objects <문자열>

                                 어떤 객체가 디버그 메시지를

                                 출력할지 선택

          This is a ',' separated string, each object should be prefixed by a

          '+' or a '-' to respectively enable or disable it. The keyword 'all'

          refers to all objects. Objects can be referred to by their type or

          module name. Rules applying to named objects take precedence over

          rules applying to object types. Note that you still need to use -vvv

          to actually display debug message.





'프로그램 사용 > VLC' 카테고리의 다른 글

http vlc protocol  (0) 2018.11.30
vlc for windows / ascii art ㅋㅋㅋ  (0) 2016.11.22
dash with VLC  (0) 2015.09.11
VLC dshow(캡쳐장비) 해상도 설정  (0) 2015.05.23
VLC로 multicast 테스트  (0) 2014.10.22
Posted by 구차니
프로그램 사용/VLC2015. 9. 11. 13:48

재생해보려니 안되는데?!?!?! ㅠㅠ




[링크 : https://www.youtube.com/watch?v=447-60cdu2s]

[링크 : http://www-itec.uni-klu.ac.at/dash/?page_id=6]

'프로그램 사용 > VLC' 카테고리의 다른 글

vlc for windows / ascii art ㅋㅋㅋ  (0) 2016.11.22
vlc 옵션 -vvv  (0) 2015.09.15
VLC dshow(캡쳐장비) 해상도 설정  (0) 2015.05.23
VLC로 multicast 테스트  (0) 2014.10.22
VLC에서 mms로 스트리밍 하기  (0) 2014.03.13
Posted by 구차니
프로그램 사용/nginx2015. 9. 10. 16:26

혹시나 해서 찾아 봤더니 ㄷㄷㄷ

그나저나...

nginx는 프로그램 자체에서 지원하고..

php의 경우 fpm-php에서 fastcgi에 대해서 캐싱을 지원한다고 한다.



[링크 : https://www.digitalocean.com/.../how-to-setup-fastcgi-caching-with-nginx-on-your-vps]

[링크 : http://websetnet.com/ko/how-to-configure-nginx-fastcgi-cache/]

Posted by 구차니

dry run 이라는 옵션도 있네.

merge는 안하고 항상 혼자 쓰다 보니..

그냥 trunk 날리고 branch를 다시 trunk로 복사하거나(이력으로 인해)

trunk와 branch를 수동 머지 했는데 조금 편한법을 찾아 봐야겠다 ㅠㅠ


[링크 : http://asbear.tistory.com/72]

    [링크 : http://asbear.tistory.com/50]

[링크 : http://egloos.zum.com/codenongsa/v/258234]

[링크 : http://jee1.tistory.com/888]

[링크 : http://greenbay.usc.edu/csci577/tools/Subversion/Subversion_User_Manual.pdf]



+

2015.12.02

[링크 : http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.merge.html]

[링크 : https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-merge.html]

[링크 : http://hoiogi.tistory.com/20]

Posted by 구차니

는... FAIL? -_ㅠ



아으..감이 올 듯 말듯..

그러니까.. display쪽은 multiseat 관련 내용이고

screen은 멀티 모니터 쪽 내용이려나?


Key terms

The X window system has nuanced usage of a number of terms when compared to common usage, particularly "display" and "screen", a subset of which is given here for convenience:


device

A graphics device such as a computer graphics card or a computer motherboard's integrated graphics chipset.

monitor

A physical device such as a CRT or a flat screen computer display.

screen

An area into which graphics may be rendered, either through software alone into system memory as with VNC, or within a graphics device, some of which can render into more than one screen simultaneously, either viewable simultaneously or interchangeably. Interchangeable screens are often set up to be notionally left and right from one another, flipping from one to the next as the mouse pointer reaches the edge of the monitor.

virtual screen

Two different meanings are associated with this term:

A technique allowing panning a monitor around a screen running at a larger resolution than the monitor is currently displaying.

An effect simulated by a window manager by maintaining window position information in a larger coordinate system than the screen and allowing panning by simply moving the windows in response to the user.

display

A collection of screens, often involving multiple monitors, generally configured to allow the mouse to move the pointer to any position within them. Linux-based workstations are usually capable of having multiple displays, among which the user can switch with a special keyboard combination such as control-alt-function-key, simultaneously flipping all the monitors from showing the screens of one display to the screens in another.

The term "display" should not be confused with the more specialized jargon "Zaphod display". The latter is a rare configuration allowing multiple users of a single computer to each have an independent set of display, mouse, and keyboard, as though they were using separate computers, but at a lower per-seat cost.

[링크 : https://en.wikipedia.org/wiki/X_Window_System] 


displaynumber

multiseat 설정 아닌 이상은 0 으로 고정으로 봐도 무방?


screennumber

만약 모니터가 4개이고 2개씩 묶어 버리면 2개의 screen이 되려나?

즉, screen은 모니터의 모음


Display Names


From the user's perspective, every X server has a display name of the form:


hostname:displaynumber.screennumber

This information is used by the application to determine how it should connect to the server and which screen it should use by default (on displays with multiple monitors):


hostname

The hostname specifies the name of the machine to which the display is physically connected. If the hostname is not given, the most efficient way of communicating to a server on the same machine will be used.

displaynumber

The phrase "display" is usually used to refer to collection of monitors that share a common keyboard and pointer (mouse, tablet, etc.). Most workstations tend to only have one keyboard, and therefore, only one display. Larger, multi-user systems, however, frequently have several displays so that more than one person can be doing graphics work at once. To avoid confusion, each display on a machine is assigned a display number (beginning at 0) when the X server for that display is started. The display number must always be given in a display name.

screennumber

Some displays share a single keyboard and pointer among two or more monitors. Since each monitor has its own set of windows, each screen is assigned a screen number (beginning at 0) when the X server for that display is started. If the screen number is not given, screen 0 will be used.


[링크 : http://linux.die.net/man/7/x] 



2012/02/10 - [Linux/Ubuntu] - SSH를 통해 SSH 서버측에 X 응용프로그램 실행하기


'프로그램 사용 > cygwin & Xming' 카테고리의 다른 글

xming / xdmcp 성공  (0) 2016.02.02
cygwin bash 쉘 시작 위치 지정하기  (0) 2015.12.02
Xming vs cygwin/x  (0) 2012.01.25
Cygwin/X 추려내기 - ing  (0) 2011.09.10
Xming 신버전은 유료?  (0) 2011.09.09
Posted by 구차니