SourceCount

Discussion in 'WASM.HEAP' started by AntiB, Dec 19, 2009.

  1. AntiB

    AntiB New Member

    Blog Posts:
    0
    Joined:
    Mar 23, 2007
    Messages:
    393
    Доброе время суток!

    У меня была необходимость посчитать количество строк кода написанной мной в проекте, не зная или есть аналоги, написал маленькую программку которая ищет в директории (и поддиректории) все файлы *.c,*.cpp,*.h.

    Пример использование:
    Вариант #1: sc.exe c:\MyProg\
    Вариант #2: запускаем sc.exe и вводим путь к директории для поиска

    Зачем все это (гуано?) выложил сюда?! - может кому будет нужно, чтобы не писал эту программку. Даю с исходниками (можете дописывать что хотите)

    Что не умеет делать - искать количество строк в исходниках в unicode-формате (можно легко дописать).

    Прошу сильно не пинать!
     
  2. AntiB

    AntiB New Member

    Blog Posts:
    0
    Joined:
    Mar 23, 2007
    Messages:
    393
    почему-то не приатачился файл.
     
  3. AntiB

    AntiB New Member

    Blog Posts:
    0
    Joined:
    Mar 23, 2007
    Messages:
    393
    _hxxp://openfile.ru/477121/
     
  4. AndreyMust19

    AndreyMust19 New Member

    Blog Posts:
    0
    Joined:
    Oct 20, 2008
    Messages:
    714
    В Visual C++ есть макросы _FILE_, _NUMBER_ (?), которые выдают во время работы программы текущий исходный файл. Среди них есть и номер строки исходного кода.
     
  5. gEnIuS_99

    gEnIuS_99 New Member

    Blog Posts:
    0
    Joined:
    Dec 3, 2009
    Messages:
    28
    Оч полезная прога!
     
  6. Booster

    Booster New Member

    Blog Posts:
    0
    Joined:
    Nov 26, 2004
    Messages:
    4,860
    В unix можно так:
    wc `find . -name "*.c" -o -name "*.cpp" -o -name "*.h"`
     
  7. AntiB

    AntiB New Member

    Blog Posts:
    0
    Joined:
    Mar 23, 2007
    Messages:
    393
    AndreyMust19
    Возможно есть, но когда у тебя пару прожектов или пару файлов - не охота считать количество строк.
    gEnIuS_99
    Спасибо!
    Booster
    в винде нельзя (или можно?)
     
  8. cppasm

    cppasm New Member

    Blog Posts:
    0
    Joined:
    Jul 18, 2006
    Messages:
    923
    Можно если поставить MSYS от MinGW.
    Там есть wc.exe - порт под Windows.
    Так же как и grep, sed, awk и много чего ещё интересного есть :)
     
  9. n0name

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    порт wc слабо прокатит :)
    ибо афаик `` нет в винде.
     
  10. cppasm

    cppasm New Member

    Blog Posts:
    0
    Joined:
    Jul 18, 2006
    Messages:
    923
    Прокатит, shell тоже портирован - bash.
    [​IMG]
     
  11. n0name

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    я не про msys, а про отдельные портированные приложения.
    Например юзаю grep, однако msys'a не стоит.
     
  12. cppasm

    cppasm New Member

    Blog Posts:
    0
    Joined:
    Jul 18, 2006
    Messages:
    923
    Если без msys - можно попробовать с for() *.cmd написать.
     
  13. Booster

    Booster New Member

    Blog Posts:
    0
    Joined:
    Nov 26, 2004
    Messages:
    4,860
    n0name
    >порт wc слабо прокатит :)
    >ибо афаик `` нет в винде.
    Но есть xargs.
    find . -name "*.c" -o -name "*.cpp" -o -name "*.h" | xargs wc
     
  14. asd

    asd New Member

    Blog Posts:
    0
    Joined:
    Mar 12, 2005
    Messages:
    952
    Location:
    Russia
    http://msquaredtechnologies.com/m2rsm/ ?
     
  15. AntiB

    AntiB New Member

    Blog Posts:
    0
    Joined:
    Mar 23, 2007
    Messages:
    393
    asd
    то что нужно. Хотя я уже буду пользоваться этой утилкой :)
     
  16. n0name

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    тру. Не знал про xargs, пойду качать.
     
  17. AndreyMust19

    AndreyMust19 New Member

    Blog Posts:
    0
    Joined:
    Oct 20, 2008
    Messages:
    714
    Есть какая-то команда в cmd.exe, помимо основной работы выводит кол-во строк в файле.
     
  18. l_inc

    l_inc New Member

    Blog Posts:
    0
    Joined:
    Sep 29, 2005
    Messages:
    2,566
    n0name
    Так это... зачем по-отдельности качать всё? Есть пакетик UnxUtils. В нём и find, и grep, и xargs, и ещё много всего полезного.
     
  19. t00x

    t00x New Member

    Blog Posts:
    0
    Joined:
    Feb 15, 2007
    Messages:
    1,921
    Вот это кошерно!!!
    www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en