Difference between revisions of "LU-LSP-b11:L01"
(New page: Ievads sistēmprogrammēšanā un UNIX operētājsistēmā. C programmu un shell-script savstarpēja sadarbība. Lekcijas slaidi [PDF] == LKP PD1 == Uzrakst...) |
|||
Line 2: | Line 2: | ||
C programmu un shell-script savstarpēja sadarbība. |
C programmu un shell-script savstarpēja sadarbība. |
||
[[ |
[[http://jupiter.cs.fmf.lu.lv/~kursi/lu-lsp-b11-01.pdf Lekcijas slaidi]] |
||
== LKP PD1 == |
== LKP PD1 == |
Revision as of 20:05, 7 September 2011
Ievads sistēmprogrammēšanā un UNIX operētājsistēmā. C programmu un shell-script savstarpēja sadarbība.
LKP PD1
Uzrakstīt sekojošas programmas:
- (C valodā) Ielasa lietotāja tekstu un padod zemāk.
- (shell script) Saņem padoto tekstu, izdrukā datumu un padod tekstu nakamajai programmai
- (C valodā) izdrukā saņemto tekstu
1. un 3. drīkst apvienot!
Noformēt uzdevumu kā:
- myprint{1,3}.c - C izejas koda faili
- myprint{1,3} - izpildāmais fails (sakompilēts no C koda)
- script - bash skripta fails
- Makefile - testēšanas makefile, ar mērķiem:
- all - kompilēt C kodu
- clean - nodzēst izpildāmo(s) failu(s)
- test - notestēt visu
PD klasē, piemēra iespējamais risinājums. 1. un 3. programmu apvienojums
#include <stdio.h> int main (int argc, char *argv[]) { char str[255]; if( argc>1 ) { puts(argv[1]); } else { scanf("%s", str); puts(str); } return 0; }
Shell skripts:
#!/bin/sh while read LINE; do date ./myprint ${LINE} done
Programmu izsaukums: ./myprint | ./script
Viela pārdomām:
- Kā ir ar drošību? vai lietotājs nevar ievadīt potenciāli bīstamas simbolu virknes?
- Vai risinājums izdrukas visu tekstu vai tikai vienu vārdu? Kā to labot?