Picproje Elektronik Sitesi

PROGRAMLAMA DİLLERİ => C/C++ => Konuyu başlatan: Gökhan BEKEN - 22 Nisan 2014, 16:33:03

Başlık: Ynt: Online kod formatlama?
Gönderen: Gökhan BEKEN - 22 Nisan 2014, 16:33:03
Online C / C++ kodu düzeltme sitesi var mı? Keil'de kod yazarken girinti çıkıntıları tek tek düzeltmek zor oluyor. Ufak bir program varsa o da olur.
Normalde netbeans gayet güzel yapıyor, visual studio da güzel yapıyor ama, bunları çalıştığım her bilgisayara kurmakla uğraşmak istemiyorum. O programlar açılana kadar el yordamıyla kendim de düzeltirim.
Önerilerisi olan var mı?

mesaj birleştirme:: 22 Nisan 2014, 16:36:26

bunu buldum ama iyi değil : http://cmpe150-1.cmpe.boun.edu.tr/onlineCompiler/parts/ (http://cmpe150-1.cmpe.boun.edu.tr/onlineCompiler/parts/)
Başlık: Ynt: Online kod formatlama?
Gönderen: mufitsozen - 22 Nisan 2014, 16:50:43

http://uncrustify.sourceforge.net/ (http://uncrustify.sourceforge.net/)

http://astyle.sourceforge.net/ (http://astyle.sourceforge.net/)
Başlık: Ynt: Online kod formatlama?
Gönderen: picusta - 22 Nisan 2014, 19:40:21
programmer's notepad tam sana göre http://www.pnotepad.org/ (http://www.pnotepad.org/)
notepad ++ de güzel.
Başlık: Ynt: Online kod formatlama?
Gönderen: kutahyaspor - 22 Nisan 2014, 23:02:36
[-Online-]
asm, C, C++ ve adını bilmediğim programlama dillerinde online kodlama yapılabilen, sık kullanılanlara eklenesi internet sayfası ;) 

http://www.compileonline.com/

Başlık: Ynt: Online kod formatlama?
Gönderen: Tagli - 23 Nisan 2014, 01:28:26
GNU Indent var. Normalde Linux için olan bir program ama galiba Window için de çıkarmışlar.
http://gnuwin32.sourceforge.net/packages/indent.htm (http://gnuwin32.sourceforge.net/packages/indent.htm)
Başlık: Ynt: Online kod formatlama?
Gönderen: Burak B - 23 Nisan 2014, 09:53:52
Keil' e Astyle entegre ederek kullanın. Çok başarılı bir kod güzelleştiricidir. Bunu "Tools->Customize  Tools Menu" ile yapabilirsiniz.

Command : C:\AStyle\bin\AStyle.exe
Initial Folder : C:\AStyle\bin
Arguments : -n -K  -Y -M40 -xC120 --mode=c -w -L -xd -O -k3 -W3 --mode=c -z1 -s2 -c  "#E"

Not: Bunlar benim kişisel ayarlarımdır. İsteyen kendine göre argümanları değiştirebilir.


Başlık: Ynt: Online kod formatlama?
Gönderen: diot - 23 Nisan 2014, 14:05:30
Bak bunu öğrendiğim iyi oldu. Elle düzeltmeye uğraşıp duruyordum.
-n -K  -Y -M40 -xC120 --mode=c -w -L -xd -O -k3 -W3 --mode=c -z1 -s2 -c  "#E"
argumanında hata veriyor.
Başlık: Ynt: Ynt: Online kod formatlama?
Gönderen: Gökhan BEKEN - 23 Nisan 2014, 14:25:39
Herkese teşekkürler,


Alıntı yapılan: mufitsozen - 22 Nisan 2014, 16:50:43
http://uncrustify.sourceforge.net/ (http://uncrustify.sourceforge.net/)
http://astyle.sourceforge.net/ (http://astyle.sourceforge.net/)
Bunları nasıl kullanıyoruz çözemedim.



Alıntı yapılan: picusta - 22 Nisan 2014, 19:40:21
http://www.pnotepad.org/ (http://www.pnotepad.org/)
Dediğiniz programı denedim, aradığım özelliği bulamadım, ama güzel programmış. Benzer program araştırdım, notepad 2 diye birşey varmış, onda da aradığım özellik yoktu.



Alıntı yapılan: kutahyaspor - 22 Nisan 2014, 23:02:36
[-Online-]
http://www.compileonline.com/
Bunu biliyorum ama amacı online compiler, yani kod formatlama özelliği yok.



Alıntı yapılan: Tagli - 23 Nisan 2014, 01:28:26
http://gnuwin32.sourceforge.net/packages/indent.htm (http://gnuwin32.sourceforge.net/packages/indent.htm)
Araştırdım, işimi görecek galiba, kurup deneyeceğim.



Alıntı yapılan: ByteMaster - 23 Nisan 2014, 09:53:52
Keil' e Astyle entegre ederek kullanın. Çok başarılı bir kod güzelleştiricidir. Bunu "Tools->Customize  Tools Menu" ile yapabilirsiniz.

Command : C:\AStyle\bin\AStyle.exe
Initial Folder : C:\AStyle\bin
Arguments : -n -K  -Y -M40 -xC120 --mode=c -w -L -xd -O -k3 -W3 --mode=c -z1 -s2 -c  "#E"

Not: Bunlar benim kişisel ayarlarımdır. İsteyen kendine göre argümanları değiştirebilir.
İnternette Keil AStyle şeklinde arattım ama alakalı bir sonuç gelmedi, nerden indirip kurabilirim?

mesaj birleştirme:: 23 Nisan 2014, 14:34:45

Bu arada bu site iş görebilir, ama iyi değil beğenmedim: http://courses.cs.washington.edu/courses/cse341/10au/indent.html (http://courses.cs.washington.edu/courses/cse341/10au/indent.html)

mesaj birleştirme:: 23 Nisan 2014, 14:36:47

Bu tam bana göre: http://prettyprinter.de/ (http://prettyprinter.de/)

mesaj birleştirme:: 23 Nisan 2014, 15:05:35

Bu arada codeblock ide'sini kurdum, plugins menüsünden Astyle'a tıkladım kodları gayet güzel formatladı.
Artık dev-cpp yerine bunu kullanırım c++ için
Başlık: Ynt: Online kod formatlama?
Gönderen: Burak B - 23 Nisan 2014, 23:51:56
Alıntı yapılan: diot - 23 Nisan 2014, 14:05:30
Bak bunu öğrendiğim iyi oldu. Elle düzeltmeye uğraşıp duruyordum.
-n -K  -Y -M40 -xC120 --mode=c -w -L -xd -O -k3 -W3 --mode=c -z1 -s2 -c  "#E"
argumanında hata veriyor.


Ne hatası veriyor acaba ? Bazen sürüm farklılıklarından dolayı argümanlar etkilenebiliyor. Benim kullandığım sürüm v2.03' tü. Güncel sürüm v2.04 görünüyor. Bu sürümle de denedim bende sorun görünmüyor.

Alıntı yapılan: meftun
İnternette Keil AStyle şeklinde arattım ama alakalı bir sonuç gelmedi, nerden indirip kurabilirim?

@mufitsozen hocam vermiş linkleri.
http://uncrustify.sourceforge.net/ (http://uncrustify.sourceforge.net/)
http://astyle.sourceforge.net/ (http://astyle.sourceforge.net/)
Başlık: Ynt: Ynt: Online kod formatlama?
Gönderen: Gökhan BEKEN - 24 Nisan 2014, 09:17:01
Alıntı yapılan: ByteMaster - 23 Nisan 2014, 23:51:56
@mufitsozen hocam vermiş linkleri.
http://uncrustify.sourceforge.net/ (http://uncrustify.sourceforge.net/)
http://astyle.sourceforge.net/ (http://astyle.sourceforge.net/)
Ben o linkten, programı indirmiştim, tek başına çalışıyor sanmıştım ama açtıktan sonra baktımki konsol programı ve üzerinde hiç bir şey yapılmıyor.
Şimdi o programı dediğiniz yöntemle keil'a entegre ettim gayet güzel oldu.
Dediğiniz şeylerin dışında eklentiye bir isim yazmak gerekiyormuş.
(http://s12.postimg.cc/435ifay8d/Astyle.png)
Başlık: Ynt: Online kod formatlama?
Gönderen: SpeedyX - 24 Nisan 2014, 10:21:03
IAR Embedded Workbench'e eklemek isteyenler için:

(http://s24.postimg.cc/bdk0uyi45/astyle.png)

Alıntı Yap>Argument variables:
>===================
>When setting up parameters to user-defined tools in the tools-menu or
>configuring the Embedded Workbench to use an external editor, you can use
>argument variables to refer to common project items. This allows you to do
>things like interfacing a command-line revision control system, or running an
>external tool on the selected file.

>The following variables can be used:
>$FILE_PATH$ - Full path of active file (in editor, project, or message window)
>$FILE_FNAME$ - File name of active file without path
>$FILE_DIR$ - Directory of active file, no file name
>$CUR_LINE$ - Current line
>$TARGET_PATH$ - Full path of primary output file
>$TARGET_FNAME$ - Filename without path of primary output file
>$TARGET_DIR$ - Directory of primary output file
>$EXE_DIR$ - Directory for exe output
>$OBJ_DIR$ - Directory for obj output
>$LIST_DIR$ - Directory for list output
>$PROJ_PATH$ - Full path of project file
>$PROJ_FNAME$ - Project file name without path
>$PROJ_DIR$ - Project directory
>$CUR_DIR$ - Current directory

>For example, to add the command "Backup" to the Tools menu to make a
>copy of the entire project directory to a network drive, you would
>specify Command as "command" and Argument as:
>/C copy c:\project\*.* F:
>or
>/C copy $PROJ_DIR$\*.* F:

Tüm projedeki .c ve .h dosyalarını formatlamak için kullandığım argument satırını paylaşayım, bence mükemmel oldu.
-j --mode=c --style=allman -xL -n -S -s2 -k3 -W3 -p -U --recursive $PROJ_DIR$/*.c $PROJ_DIR$/*.h

@ByteMaster teşekkürler.
Başlık: Ynt: Online kod formatlama?
Gönderen: Burak B - 24 Nisan 2014, 10:30:07
İşinize yaradığına sevindim. Bunu birde refleks haline getirirseniz tamamdır. Çünkü ben yazdığım kodu kurallara uygun şekilde formatlamadan asla bırakamam. :) Rahatsız edici bir durum. Her açıdan !

Ayrıca bunun yanında Doxygen ve CppChecker kullanıyorum tavsiye ederim.
Başlık: Ynt: Online kod formatlama?
Gönderen: X-Fi - 24 Nisan 2014, 11:52:45
@SpeedyX Hocam teşekkürler bende sizin yapınızı keil için düzenledim.

A-Style Current File;
"#E" -j --mode=c --style=allman -xL -n -S -s4 -k3 -W3 -p -U

A-Style All C File;
"$E*.c" -j --mode=c --style=allman -xL -n -S -s4 -k3 -W3 -p -U

A-Style All H File;
"$E*.h" -j --mode=c --style=allman -xL -n -S -s4 -k3 -W3 -p -U

Not: benim gibi c ve header dosyalarını src,inc klasörlerine ayırıyorsanız. Sadece üzerinde çalıştığınız dosya türü için All X File çalışacaktır.
Başlık: Ynt: Online kod formatlama?
Gönderen: diot - 24 Nisan 2014, 13:01:44
@bytemaster , bende verdiği hata

"C:\Keil\AStyle\bin\AStyle.exe" -n -K  -Y -M40 -xC120 --mode=c -w -L -xd -O -k3 -W3 --mode=c -z1 -s2 -c  "C:\Documents and Settings\Administrator\Desktop\1\1\TouchScreen\touch_7846.c"
Invalid command line options:
xC120
For help on options type 'astyle -h'
Artistic Style has terminated

Ayrıca keil için böyle yararlı eklentiler var mı?
Başlık: Ynt: Online kod formatlama?
Gönderen: X-Fi - 24 Nisan 2014, 13:35:50
@diot

Command:  C:\AStyle\bin\AStyle.exe

initial folder:  C:\AStyle\bin

Olacak şekilde ayarlarsan keil'de çalışır.
Başlık: Ynt: Online kod formatlama?
Gönderen: E3A4 - 13 Temmuz 2015, 15:49:22
@Burak BAYRAK  hocam biraz astyle hakkında bilgi verebirimisiniz bende ekledim ama kullanımı ve faydaları hakkında bilgi verirseniz sevirim keil ile ilgili bi döküman bulamadım melesef
Başlık: Ynt: Online kod formatlama?
Gönderen: Burak B - 13 Temmuz 2015, 17:47:21
C kodlama standartlarındaki kurallardan syntax(yazılım) ile ilgili olanlarının uygulanmasını sağlıyor. Basitçe çorba olmuş kodunuzu daha okunaklı ve anlaşılır hale getiriyor. Böylece kodlama alışkanlıklarından kaynaklanan hataların da önüne geçmiş oluyor. Mesela tek işlemli if satırlarının {} blok içerisine alınmaması gibi. Ayrıca kod bloklarının nizami olarak düzenlenmesiyle ilgili kuralların uygulandığından emin olmamızı sağlıyor. Sizden sonra kodu ele alacak yazılımcılar açısından zorluk olmaması için tercih sebebi. Ama herşeyden önemlisi yazılım hatalarının ürün bittikten sonra değil bitmeden önce tespit edilmesini sağlamak.

Kullanımı basit. Keil menüsüne eklediysen açmış olduğun kaynak kod dosyasını belirlenen parametrelere göre otomatik olarak düzeltiyor. Fazladan bişi yapmana gerek yok.

Detaylı kullanımı için kendi sitesine bakman yeterli. Başka yerlerde bir bilgi aramanın bir anlamı yok. Herşeyi tüm detayları ve örnekleriyle anlatmışlar zaten.
http://astyle.sourceforge.net/astyle.html (http://astyle.sourceforge.net/astyle.html)
Başlık: Ynt: Online kod formatlama?
Gönderen: E3A4 - 13 Temmuz 2015, 17:55:41
Teşekkürler hocam burayı inceledim fakat benim keilde olmadı sanırım herhangi bir etkisi olmadı da
Başlık: Ynt: Ynt: Online kod formatlama?
Gönderen: mufitsozen - 13 Temmuz 2015, 18:03:31
Alıntı yapılan: Burak BAYRAK - 13 Temmuz 2015, 17:47:21
C kodlama standartlarındaki kurallardan syntax(yazılım) ile ilgili olanlarının uygulanmasını sağlıyor. Basitçe çorba olmuş kodunuzu daha okunaklı ve anlaşılır hale getiriyor. Böylece kodlama alışkanlıklarından kaynaklanan hataların da önüne geçmiş oluyor. Mesela tek işlemli if satırlarının {} blok içerisine alınmaması gibi. Ayrıca kod bloklarının nizami olarak düzenlenmesiyle ilgili kuralların uygulandığından emin olmamızı sağlıyor. Sizden sonra kodu ele alacak yazılımcılar açısından zorluk olmaması için tercih sebebi. Ama herşeyden önemlisi yazılım hatalarının ürün bittikten sonra değil bitmeden önce tespit edilmesini sağlamak.

Kullanımı basit. Keil menüsüne eklediysen açmış olduğun kaynak kod dosyasını belirlenen parametrelere göre otomatik olarak düzeltiyor. Fazladan bişi yapmana gerek yok.

Detaylı kullanımı için kendi sitesine bakman yeterli. Başka yerlerde bir bilgi aramanın bir anlamı yok. Herşeyi tüm detayları ve örnekleriyle anlatmışlar zaten.
http://astyle.sourceforge.net/astyle.html (http://astyle.sourceforge.net/astyle.html)

sayin @Burak BAYRAK bey kardesim. siz butun bunlari nasil ve nereden ogreniyorsunuz?  ;)

Kim ne sorsa ben yaptim oldu diye cevap yaziyorsunuz!

Kimsiniz nesiniz? Network ile Cybersecurity konularina da hakim bir hava seziyorum sizde.

Yoksa sizde benim gibi emekli ve tecrubeli bir muhendismisiniz?  ???

yoksa bu @Burak BAYRAK bir mahlas veya mustear isim midir?  :o

Yoksa siz benmisiniz?  :P

Sayin moderatorler, bu forumda birden cok nick'i olan uyeler varmidir? nasil anlariz?  :-\
Başlık: Ynt: Ynt: Online kod formatlama?
Gönderen: M_B - 13 Temmuz 2015, 19:12:52
Alıntı yapılan: mufitsozen - 13 Temmuz 2015, 18:03:31
sayin @Burak BAYRAK bey kardesim. siz butun bunlari nasil ve nereden ogreniyorsunuz?  ;)

Kim ne sorsa ben yaptim oldu diye cevap yaziyorsunuz!

Kimsiniz nesiniz? Network ile Cybersecurity konularina da hakim bir hava seziyorum sizde.

Yoksa sizde benim gibi emekli ve tecrubeli bir muhendismisiniz?  ???

yoksa bu @Burak BAYRAK bir mahlas veya mustear isim midir?  :o

Yoksa siz benmisiniz?  :P

Sayin moderatorler, bu forumda birden cok nick'i olan uyeler varmidir? nasil anlariz?  :-\
@mufitsozen hocam Teknik sohbette yayına cıkmıstı.
https://www.youtube.com/watch?v=JrJSEOv-kbY (https://www.youtube.com/watch?v=JrJSEOv-kbY)
Başlık: Ynt: Ynt: Online kod formatlama?
Gönderen: CLR - 13 Temmuz 2015, 22:31:10
Ben şahsen hiç IAR, keil, mplap vs. içindeki editörleri kullanmıyorum.

Source code düzenleyen editör programları var, siz yazarken düzenleyip, güzelleştiriyor,
Başlık: Ynt: Online kod formatlama?
Gönderen: Karamel - 13 Temmuz 2015, 23:21:54
ben su sekil yazmaya ozen gosteriyorum ::)

Allman style uses broken brackets.

int Foo(bool isBar)
{
    if (isBar)
    {
        bar();
        return 1;
    }
    else
        return 0;
}



bu sekik yazilanlarida sevmeyip duzeltiyorum( ic ice operatorler olunca parantezleri gormekte cok zorlaniyorum)

Java style uses attached brackets.

int Foo(bool isBar) {
    if (isBar) {
        bar();
        return 1;
    } else
        return 0;
}
Başlık: Ynt: Ynt: Online kod formatlama?
Gönderen: CLR - 14 Temmuz 2015, 00:00:56
aslında aşağıdaki şekilde kullanmak iyi bir yöntem değil, bende bazen kullanıyorum ama dikkat gerektiriyor, süslü parantez kullanılırsa dikkat etmeye gerek yok.
Nedeni ise : if veya elsenin altında bir kaç C ifadesi(statement) içeren bir C macrosu kulanılırsa program açısından hata oluşur.   


if (x)
    return 1;
else
    return 0;