С чего начинается программирование...

читать лучше с начала!

На сайті розглядаються основи роботи з мультимедійною інформацією на персональному комп'ютері. Описано ряд програм для закису, обробки й відтворення звуку й зображення.

Представлено деякі Wіndows-програми комунікацій реального часу ( ІP-Телефонії).

Також сайт присвячен розробці власних програм для роботи з аудио й відео, передачі звукової й візуальної інформації в локальних мережах і Інтернеті.

Серед наших користувачів, як правило, користувачі комп'ютера в дома й в офіса, так і на починаючих розроблювачів програмного забезпечення - ми даємо основи програмування в середовищі Borland C++ Buіlder. Наша аудиторія - це, перш за все, школярі старших класів, студенти і широке коло людей, що просто використовують комп'ютер вдома й на роботі.

ПОЯСНЕННЯ



      У рядках 4-8 виконується перевірка на помилки. Оскільки cuchk не має ніяких опцій, у командному рядку не повинне бути ніяких параметрів. Якщо параметри присутні, це вважається помилкою.
      Рядка 10-15 організують вічний цикл while. Зверніть увагу, що амперсанд у рядку 15 автоматично запускає cuchk у фоновому режимі, адже немає ніякого резону виконувати цю програму в пріоритетному режимі.
      У рядку 12 виконується команда "ps -e", що видає інформацію про стан всіх значних користувальницьких процесів. Ці дані пропускаються по конвеєрі через fgrep. Утиліта fgrep шукає наявність символів "cu". Ми сподіваємося, що ці символи відповідають тільки процесам cu, які ми шукаємо. Вони можуть, однак, ставитися до чомусь зовсім несподіваному, наприклад "picuser" або до якомусь аналогічно побудованому ім'ю. Результат роботи команди fgrep направляється на пристрій /dev/null, щоб позбутися від зайвої інформації. Нас цікавить тільки статус завершення команди fgrep. Він повідомляє нас, чи знайдене входження символів "cu" чи ні.
      Наприкінці рядка 12 є присутнім символ зворотної косої риси, указывающий інтерпретаторові shell, що наступний фізичний рядок є насправді частиною того ж самого програмного рядка й що потрібно додати її до рядка 12, а не виконувати самостійно. Розбивка довгих рядків на кілька менших рядків за допомогою символів зворотної косої риси дозволяє нам одержувати красиво оформлений, більше наочний вихідний код.
      Рядок 13 виконується в тому випадку, якщо fgrep відробила успішно (тобто якщо вона видає нульовий статус завершення). Це означає, що символи "cu" знайдені, а значить процес cu працює й в теперішній час не доступний. Тому процес cuchk засипає на 5 секунд. Коли він пробуджується, виконання триває з рядка 10, відновляється вічний цикл і перевірка процесів триває.
      Якщо fgrep не знаходить символи "cu" (вертається ненульовий статус завершення), те виконується рядок 14, що видає повідомлення про те, що програма cu вільна, і робота програми завершується. Таким чином, ми відразу ж знаємо, що лінія cu відкрита для використання, тому ми можемо скоріше зайняти її.


ІМ'Я: talk

talk Звертання до послідовного порту

[...]
Початок
[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] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180] [181] [182] [183] [184] [185] [186] [187] [188] [189] [190] [191] [192] [193] [194] [195] [196] [197] [198] [199] [200] [201] [202] [203] [204] [205] [206] [207] [208] [209] [210] [211] [212] [213] [214] [215] [216] [217] [218] [219] [220] [221] [222] [223] [224] [225] [226] [227] [228] [229] [230] [231] [232] [233] [234] [235] [236] [237] [238] [239] [240] [241] [242] [243] [244] [245] [246] [247] [248] [249] [250] [251] [252] [253] [254] [255] [256] [257] [258] [259] [260] [261] [262] [263] [264] [265] [266] [267] [268] [269] [270] [271] [272] [273] [274] [275] [276] [277] [278] [279] [280] [281] [282] [283] [284] [285] [286] [287] [288] [289] [290] [291] [292] [293] [294] [295] [296] [297] [298] [299] [300] [301] [302] [303] [304] [305] [306] [307] [308] [309] [310] [311] [312] [313] [314] [315] [316] [317] [318] [319] [320] [321] [322] [323] [324] [325] [326] [327] [328] [329] [330] [331] [332] [333] [334] [335] [336] [337] [338] [339] [340] [341] [342] [343] [344] [345] [346] [347] [348] [349] [350] [351] [352] [353] [354] [355] [356] [357] [358] [359] [360] [361] [362] [363] [364] [365] [366] [367] [368] [369] [370] [371] [372] [373] [374] [375] [376] [377] [378] [379] [380] [381] [382] [383] [384] [385] [386] [387] [388] [389] [390] [391] [392] [393] [394] [395] [396] [397] [398] [399] [400] [401] [402] [403] [404] [405] [406] [407] [408] [409] [410] [411] [412] [413] [414] [415] [416] [417] [418] [419] [420] [421] [422] [423] [424] [425] [426] [427] [428] [429] [430] [431] [432] [433] [434] [435] [436] [437] [438] [439] [440]