GithubHelp home page GithubHelp logo

devnull-cz / unix-linux-prog-in-c Goto Github PK

View Code? Open in Web Editor NEW
9.0 5.0 2.0 2.23 MB

Unix/Linux Programming in C course materials

Home Page: https://devnull-cz.github.io/unix-linux-prog-in-c/

License: Other

Makefile 0.33% TeX 97.15% Roff 2.22% M4 0.01% sed 0.07% Shell 0.23%
unix programming c learning lecture-material lecture-slides teaching linux university-course

unix-linux-prog-in-c's Introduction

Github Actions status

This project contains source code for the material that is used to lecture "Unix/Linux Programming in C" (NSWI015) class at the Faculty of Mathematics and Physics, Charles University in Prague.

To get the PDFs, go to Releases.

The class home page is https://devnull-cz.github.io/unix-linux-prog-in-c/

Developer notes

It is written in LaTeX. See the Makefile on how to build the PDF document.

Trigger new release

./dev/release.sh v<XYZ>

unix-linux-prog-in-c's People

Contributors

janpgit avatar rsjordan avatar vladak avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

unix-linux-prog-in-c's Issues

Add a picture to the dynamic linker slide

The picture needs to show a.out and ld.so.1 in the same virtual address space, main() functions for both, one or two mapped in dynamic libraries within the same address space, and possibly the ELF dynamic section listing those libraries.

make examples first class citizens

The examples should be generated with a macro so that they are clearly separated from the rest of the text in notes, e.g. use a box, headline etc.

build fails with new Latex due to extra \endgroup

When building with pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021 Gentoo Linux) (preloaded format=pdflatex) / LaTeX2e <2020-10-01> patch level 4 / L3 programming layer <2021-02-18>, the build fails with:

(/usr/share/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)))
(/usr/share/texmf-dist/tex/latex/upquote/upquote.sty)
! Extra \endgroup.
\document ->\endgroup 
                      \the \before@document \begingroup \UseOneTimeHook {beg...
l.156 \begin{document}

Looking for \endgroup, it can be found in the pstex images under img/tex directory and also in xcomment.tex.

tagging scheme

need to agree on tagging scheme for the repo (so that pdf files can be automatically published)

problems with bullets

from #42: On page 58, warn() should have a bullet and the items underneath should have a dash (but it seems right in intro.tex). Bullet points in the boxes on 62, 63, 64, 68, 69, 70, 72 also seem incorrect (functions should have the bullets).

release needs to adapt

Release build contains some warnings:

Run actions/create-release@v1
Warning: The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

so this seems to be a problem within the create-release action, however that action is not maintained by Github anymore.

rework utilities slide to be current

The utility slides contains refs to stuff like sccs. Move the legacy utils to notes (mention they are part of SUS) and replace the slide contents with up to date utils.

move SO_LINGER example down to setsockopt() slide

The linger.c code that is referenced from the close() slide includes calls to getaddrinfo() and setsockopt() which follow on later slides. Move the SO_LINGER content and comments to the notes below the setsockopt() slide.

spellcheck

Once translated, run spell checker on the document.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.