demos-os-linux
demos-linux is a project to demo and explore the Linux user space C/C++ API
File Explorer
- cicd.yml
- image.yml
- FUNDING.yml
- deps.lua
- general.lua
- github.lua
- personal.lua
- project.lua
- python.lua
- shared.lua
- version.lua
- ace.txt
- alsa.txt
- boot.txt
- ccache.txt
- coding_style.txt
- config_the_kernel.txt
- context_switch_time.txt
- core_files.txt
- cpu_counters.txt
- diagram.txt
- disassembly.txt
- documentation_on_linux.txt
- file_descriptor_in_unix.txt
- file_order_in_a_directory.txt
- filesystem.txt
- filetypes.txt
- ftok.txt
- gcc_latest.txt
- general_instructions_about_oss_installation.txt
- history_of_linux_kernel.txt
- interesting_command_lines.txt
- io_queues.txt
- kernel_development.txt
- links.txt
- linux_synchronization.txt
- loopback_filesystem.md
- malloc_tools.txt
- measuring_lock_contention.txt
- mem_barrier.txt
- mmu_sample.txt
- mutrace.txt
- my_links.txt
- networking_notes.txt
- networking_virtual_interface.md
- openmp.txt
- os_definition.txt
- package_managers.txt
- perf.txt
- power_tools.txt
- presentations.txt
- proc.txt
- profiling_with_call_graphs.txt
- ps_hints.txt
- real_time_concepts.txt
- real_world_situation.txt
- shells.txt
- signals.txt
- smi_interrupts.txt
- strace.txt
- style_checkers.txt
- symbian_vs_linux.txt
- system_admin_exercises.md
- terminals.txt
- tools.txt
- topics.txt
- virtio_links.txt
- web_server_setup.md
- C_exercises.odt
- conventions.txt
- flags.txt
- gcc_clang_compatibility.md
- ideas_code_quality.md
- man_page_bugs.txt
- python_use_in_this_project.txt
- rsconstruct_port_mission.md
- scan_report.md
- TODO.txt
- TODO_build_system.txt
- TODO_general.txt
- TODO_kernel.txt
- TODO_now.txt
- TODO_site.txt
- TODO_userspace.txt
- favicon.ico
- index.html
- 00_qemu_basic.md
- 01_build_from_scratch_manual_debian.md
- 02_build_from_scratch_busybox.md
- 03_buildroot.md
- 04_yocto.md
- app.sh
- create_cgroup.sh
- delete_cgroup.sh
- exec_cgroup.sh
- list_cgroup.sh
- monitor_cgroup.sh
- see_all_controllers.sh
- dbus_monitor.sh
- dbus_send_sample.sh
- read_a_file_again_and_again.py
- mydiff.patch
- threads_affinity.cc
- threads_affinity1.cc
- threads_affinity2.cc
- threads_affinity2.orig.cc
- perf_allow.sh
- perf_status.sh
- run_cyclic_test.sh
- check_stap.sh
- context_switch_time.stp
- dump_functions.sh
- futexes.stp
- hello.stp
- mkdir.stp
- README.md
- schedtimes.stp
- syscalls_by_proc.stp
- user.stp
- README.md
- README.md
- add_me_to_groups.sh
- change_many.sh
- check_all.py
- check_have_solutions.py
- check_license.py
- ci_image_build.py
- ci_image_list.py
- ci_image_prune.py
- git_check_no_symlinks.py
- netbeans_cpp.sh
- switch_license.py
- wrapper_compile.py
- AceLog.cc
- Hello.cc
- Get_Opt.cc
- head_buffer.cc
- Message_Block.cc
- Message_Blocks.cc
- Message_Queue.cc
- Message_Receiver.hh
- priority_buffer-modified.cc
- priority_buffer.cc
- tail_buffer-modified.cc
- tail_buffer.cc
- Time_Value_Class.cc
- Timer.cc
- Async_Cancel.cc
- Coop_Cancel.cc
- ExitHandler.cc
- Pool.cc
- Priorities.cc
- PrioritiesCreateLowFirst.cc
- SecurityContext.hh
- Signals.cc
- Signals2.cc
- Start_Hook.cc
- State.cc
- ACE_Task_Base_Example.cc
- Activate.cc
- AO-save.cc
- AO.cc
- AO2.cc
- Condition_Variables.cc
- Guards.cc
- Mutexes.cc
- Process_Mutex.cc
- reader_writer.cc
- task.hh
- task_sample.cc
- Thread.cc
- Thread1.cc
- thread_specific.cc
- thread_specific.hh
- ThreadManager.cc
- ThreadsExample.cc
- Basic.cc
- Basic_Robust.cc
- Iovec.cc
- Net_Ace.cc
- Net_Traditional.cc
- Server.cc
- Client.cc
- Client.hh
- ClientService.hh
- HAStatus-AC.cc
- HAStatus.cc
- Reactor_Acceptor.cc
- Reschedule.cc
- Schedule_Timers.cc
- Timer_Cancel.cc
- Timer_Log_Interval_Int.cc
- Timer_only.cc
- Timer_State_Data.cc
- Timers.cc
- Accept_only.cc
- Client.cc
- Client.hh
- HAStatus.cc
- listen_only.cc
- ActiveObject.cc
- ActiveObjectComplete.cc
- Malloc.cc
- Malloc1.cc
- PI_Malloc.cc
- Callback-2.hh
- Callback.hh
- LF_ThreadPool.cc
- Log.cc
- Request_Handler.hh
- StdinHandler.cc
- TP_Reactor.cc
- Use_Callback.cc
- Use_Callback2.cc
- Use_Syslog.cc
- ARGV_Example.cc
- ClientContext.hh
- Get_Opt.cc
- Get_Opt_Long.cc
- HA_Status.cc
- HASTATUS_export.hh
- Mem_Map.cc
- Process_Manager_Death.cc
- Process_Manager_Spawn.cc
- Process_Mutex.cc
- Spawn.cc
- TSS.cc
- debug_size.cc
- Request_Handler.hh
- basic.cc
- TODO.txt
- list_cards.cc
- midi_echo.cc
- midi_in_thread.cc
- midi_play.cc
- non_blocking_input.cc
- raw_midi_in.cc
- raw_midi_out.cc
- raw_port_list.cc
- code_morph.cc
- TODO.txt
- ipow.c
- add.cc
- register.cc
- assert.cc
- TODO.txt
- atomic_disassembly.cc
- disassembly.cc
- performance.cc
- trying_to_break.cc
- hardware_concurrency.cc
- pp_add.cc
- smart_ptr.cc
- array_by_ref.c
- array_outofbounds.c
- atoi.c
- big_dataseg.c
- bit_fields.c
- bits.c
- bool.c
- break.c
- char_array_init.c
- const.c
- const_char_pointer.c
- continue.c
- digit_number.c
- divide_by_2.c
- for.c
- forward_decl.c
- hello.c
- long_long_to_float.c
- math_sin.c
- mistery.c
- octal.c
- offsets.c
- palindrom.c
- pass_by_value.c
- pointer_types.c
- pointers.c
- pragma_pack.c
- rand.c
- read_chars.c
- register.c
- remove_zeros.c
- segments.c
- short_circuit.c
- sizes.c
- static_assert.c
- static_local_var.c
- strings.c
- struct_init.c
- struct_init_small.c
- struct_init_weirdness.c
- struct_return.c
- struct_size.c
- TODO.txt
- trinary.c
- typeof.c
- types.c
- union_issues.c
- using_argv.c
- x_macros.c
- designated_initializers.c
- check_constant.cc
- compile_constants.cc
- compile_constants_simple.cc
- compiler_barrier_comparison.cc
- compiler_barrier_disassembly.cc
- compiler_barrier_performance.cc
- deprecated_warning.cc
- fool_a_compiler.cc
- function_for_constants_only.c
- inline.cc
- loop_optimized_away.cc
- noreturn_warning.cc
- not_inlining.cc
- printf_like.cc
- restrict.cc
- shared_storage_for_constant_strings.cc
- short_circuit.cc
- show_compiler_optimization.cc
- static_executable.cc
- static_variable_addresses.cc
- step_over_const.cc
- TODO.txt
- turn_off_warning.cc
- two_reads.cc
- unused_result_warning.cc
- varargs.cc
- varargs_size.cc
- weak_symbols.cc
- default_constructor.cc
- default_copy_constructor.cc
- async_basic.cc
- async_tasks.cc
- catch_all.cc
- catch_constructors.cc
- custom_exceptions.cc
- throw_analysis.cc
- throw_basic.cc
- throw_catch.cc
- algorithms.cc
- basic.cc
- basic.cc
- basic.cc
- pi_lock_guard.cc
- priority_inheritance_mutex.cc
- setting_thread_priorities.cc
- const_ref.cc
- pass_by_reference_using_pointer.cc
- pass_by_reference_using_reference.cc
- ref.cc
- references.cc
- basic.cc
- copy_cout.cc
- basic.cc
- auto.cc
- barrier.cc
- binary_literals.cc
- bool.cc
- c_in_cpp.cc
- clobber.cc
- delete_this.cc
- demangle_iberty.cc
- destructor.cc
- eh_frame.cc
- employee.cc
- employee_crack.cc
- execution.cc
- functor.cc
- hello.cc
- mutex_no_syscall.cc
- name_mangling.cc
- offsets.cc
- operator_new.cc
- placement.cc
- sizes.cc
- small_object.cc
- static_assert.cc
- struct_init.cc
- template_class.cc
- TODO.txt
- touch_privates.cc
- uninitialized_fields.cc
- virtual_functions_increase_size.cc
- vtables_structure.cc
- branch_prediction_faulter.cc
- unaligned_ops.cc
- diagonal.cc
- getch.cc
- unbuf.cc
- wide.cc
- daemon_hand_written.cc
- daemon_using_libc.cc
- daemon_using_libdaemon.cc
- hash.cc
- hash2.cc
- assert.cc
- backtrace.cc
- backtrace_simple.cc
- cause_core_dump.cc
- check_return_value.cc
- debug_threads.cc
- gcore.cc
- gettimeofday.cc
- inspecting_memory.cc
- speed_test.cc
- test_loop.cc
- TODO.txt
- trace_macros.cc
- unwind.cc
- chain_of_responsibility.cc
- command.cc
- command2.cc
- interpreter.cc
- iterator.cc
- mediator.cc
- memento.cc
- observer.cc
- state.cc
- state2.cc
- strategy.cc
- template_method.cc
- visitor.cc
- atomics.cc
- cow.cc
- double_checked_locking.cc
- lock_free.cc
- rcu.cc
- readers_writer.cc
- abstract_factory.cc
- builder.cc
- factory.cc
- factory_method.cc
- prototype.cc
- singleton.cc
- singleton_multi_threaded.cc
- singleton_race.cc
- singleton_simple.cc
- singleton_single_threaded_static_data.cc
- singleton_single_threaded_static_member.cc
- template_method.cc
- active_object.cc
- async_method.cc
- disruptor.cc
- futures_and_promises.cc
- half_sync_half_async.cc
- message_queue.cc
- monitor_object.cc
- proactor.cc
- producer_consumer.cc
- reactor.cc
- spin_lock.cc
- thread_pool.cc
- thread_safe_interface.cc
- adapter.cc
- adapter2.cc
- bridge.cc
- composite.cc
- decorator.cc
- decorator2.cc
- decorator3.cc
- facade.cc
- flyweight.cc
- observer.cc
- proxy.cc
- proxy2.cc
- stream_from_device.cc
- dlsym.cc
- dlsym_simple.cc
- got_printer.cc
- ldd.cc
- pie.cc
- plt_basic.cc
- plt_got_performance.cc
- TODO.txt
- redundant_constructor.cc
- endian_header.cc
- gcc_native.cc
- getenv.cc
- errno.cc
- error_macro.cc
- error_on_purpose.cc
- error_table.cc
- longjmp.cc
- longjmp_with_stack_trace.cc
- recover_from_sigsegv.cc
- stack_trace_exceptions.cc
- throw_catch_sigs.cc
- wrapping_c_with_exceptions.cc
- floating_point_exception.cc
- infinite_recursion.cc
- seg_fault.cc
- segfault_walking.c
- simple.cc
- TODO.txt
- at_exit_on_exit.cc
- simple.cc
- single_thread_exit.cc
- TODO.txt
- ways_of_exiting.cc
- mkfifo_basic.cc
- buffering.cc
- getline.cc
- memstream.cc
- TODO.txt
- unbuffered.cc
- dir_getdents.cc
- dir_mtime.cc
- dir_read_error.cc
- dir_readdir.cc
- filename_length.cc
- read_a_lot.cc
- rm_internals.cc
- sparse_streams.cc
- sparse_syscalls.cc
- stat.cc
- TODO.txt
- touch.cc
- cause_error.cc
- cause_error_real.cc
- float_vs_int.cc
- graph.cc
- limits.cc
- precision_problems.cc
- soft_float.cc
- getopt_long.cc
- uptime.cc
- gettext.cc
- TODO.txt
- wide.cc
- wide_override.cc
- aio.cc
- TODO.txt
- cat_liburing.cc
- cat_syscalls.cc
- cp_liburing.cc
- cat_sendfile.cc
- copy_file_mmap.cc
- copy_file_read_write.cc
- copy_file_select.cc
- copy_file_sendfile.cc
- copy_file_splice.cc
- copy_file_splice_select.cc
- copy_file_threads.cc
- tee_bad.cc
- tee_basic.cc
- tee_bug.cc
- tee_handling_non_pipes.cc
- TODO.txt
- bad_fd.cc
- buffering_loss_of_messages.cc
- close_read_race.cc
- default_open_files.cc
- direct_read.cc
- epoll_echo_tcp_server.cc
- o_rdonly.cc
- pathconf.cc
- printf_basic.cc
- printf_buffering.cc
- printf_customization.cc
- printf_is_a_macro.cc
- read_performance.cc
- recv_instead_of_read.cc
- TODO.txt
- write_performance.cc
- ftok.cc
- bool.c
- buf_printing.cc
- hash.cc
- utils_path.cc
- varargs_call_other.cc
- varargs_copy.cc
- varargs_iterate.cc
- version.cc
- hello.cc
- hellobfd.cc
- helloc.cc
- helloevent.cc
- hellogtk.cc
- hellogtkmm.cc
- helloiostream.cc
- hellolog4cpp.cc
- hellomtl.cc
- hellomysql.cc
- hellomysqlpp.cc
- hellopg.cc
- helloqt.cc
- hellosdl.cc
- hellosigc.cc
- hellostl.cc
- hellosyslog.cc
- hellowx.cc
- helloz.cc
- ace_logging.cc
- combine.cc
- compiler_builtins.cc
- compiler_builtins.hh
- compiler_builtins_2.cc
- logging_speed.cc
- syslog.cc
- TODO.txt
- two_tasks_two_stacks.c
- complex.cc
- float_double_conversion.cc
- float_or_double.cc
- chrono.cc
- using_clock.cc
- simple.cc
- alloca_overflow.cc
- alloca_twice.cc
- buffer_materialize.cc
- contention.cc
- diff.cc
- guess.cc
- information.cc
- lazy.cc
- malloc_like_functions.cc
- malloc_maximum_allocation.cc
- malloc_returns_null.cc
- malloc_usable_size.cc
- mcheck.cc
- mcheck_free.cc
- mem_align.cc
- mincore.cc
- mmap_2tb.c
- mmap_anon.cc
- monitoring_own_virtual_memory.cc
- mprotect_with_malloc.cc
- mprotect_with_memory_corruption.cc
- obstack.cc
- page_boundary.cc
- static_data.cc
- TODO.txt
- ulimit_virtual_memory.cc
- vla.cc
- atomics_with_memory_barrier.cc
- memory_barrier_disassembly.cc
- memory_reordering_read_write.cc
- memory_reordering_write_write.cc
- TODO.txt
- cpp_synchronized_queue.cc
- loop.cc
- mmap_faults.cc
- mmap_non_exec.cc
- mmap_page_faults.cc
- pagesize.cc
- TODO.txt
- mprotect.cc
- cache_line_contention.cc
- cache_line_pad.cc
- cache_line_size.cc
- cache_sizes.cc
- cpunum.cc
- current_cpu.cc
- field_alignment.cc
- analyze_code.cc
- avoid_zombies_sa_nocldwait.cc
- child_subreaper.cc
- exit_code_analyzer.cc
- fork_exec_wait.cc
- fork_parent_dies.cc
- fork_simple.cc
- fork_wait.cc
- fork_wait_in_sighandler.cc
- fork_waitid.cc
- init_adoption.cc
- make_zombie.cc
- make_zombie_cleared_by_init.cc
- make_zombie_grandchildren.cc
- make_zombie_simple.cc
- max_pid.cc
- nice.cc
- parent_death_notification_to_child.cc
- process_group.cc
- pstree_simple.cc
- set_process_name.cc
- share_fd_table.cc
- system_basic.cc
- system_implementation.cc
- system_return_code.cc
- vfork.cc
- unshare_simple.cc
- TODO.txt
- udev.cc
- gethostbyname.cc
- getservbyname.cc
- netfilter.cc
- nfqueue.cc
- simple.cc
- myping.cc
- sniffer.cc
- client.cc
- client_many.cc
- server.cc
- server_two_ports.cc
- server_vmsplice.cc
- recv.cc
- send.cc
- client.cc
- server.cc
- get_ips.cc
- TODO.txt
- dnotify.cc
- inotify.cc
- TODO.txt
- array_object_1.c
- array_object_2.c
- 3d_cube.cc
- quad.cc
- Xrandr.cc
- hello.cc
- merge_sort.cc
- parallel_blocks.cc
- parallel_for.cc
- step_over_code.cc
- step_over_data.cc
- evict_file_from_cache.c
- branch_prediction_example.cc
- branch_prediction_hints.cc
- branch_prediction_mispredict.cc
- cache_misser.cc
- counting_up_counting_down.cc
- hog_cpu.cc
- instrument.cc
- memcpy_comparison.cc
- memcpy_cost.cc
- memset.cc
- min_max_without_branching.cc
- page_fault_hog.cc
- performance_hog_cpu.cc
- performance_hog_memcpy.cc
- sums_of_numbers.cc
- syscalls_comparison.cc
- TODO.txt
- papi1.cc
- papi2.cc
- papi3.cc
- ticks_and_cpufreq.cc
- ticks_basic.cc
- ticks_performance.cc
- test_for_existance.cc
- capturing_output_from_shell_command.cc
- sending_data_to_shell_command.cc
- rep_nop.cc
- addition.cc
- arch.cc
- block.cc
- catenate.cc
- do_while_zero.cc
- error_in_compilation.cc
- messages_during_compilation.cc
- nargs.cc
- overloading.cc
- recurse.cc
- relational_operators.cc
- replace_in_string.cc
- stringify.cc
- templates_in_c.c
- varargs_macros.cc
- print_null.c
- protecting_from_bad_format.cc
- read_from_uptime.c
- read_slash_proc.cc
- stack.cc
- program_name.cc
- simple.cc
- affinity.cc
- different_cores.cc
- errno.cc
- exit.cc
- gettid.cc
- names.cc
- names_simple.cc
- sched_fifo.cc
- simple.cc
- two_hard_working.cc
- working.cc
- yield.cc
- zombie.cc
- multi_level.cc
- no_pthread.cc
- epoll_eventfd.cc
- kill_via_kill.cc
- kill_via_pthread_cancel.cc
- kill_via_tgkill.cc
- monitor_via_epoll_signalfd.cc
- monitor_via_pidfd.cc
- cpu_set.cc
- errors.cc
- version.cc
- futex_no_syscall.cc
- mutex_default_attributes.cc
- mutex_nosyscall.cc
- mutex_performance.cc
- mutex_recursion_and_errors.cc
- mutex_recursive_internals.cc
- mutex_robust.cc
- mutex_simple.cc
- priority_inversion.cc
- simple.cc
- signals.cc
- spinlock_basic.cc
- spinlock_implementation_using_atomics.c
- spinlock_performance.cc
- spinlock_time.cc
- spinlock_use_as_scheduler.cc
- setting_stack_size.cc
- soft_guard.cc
- cancel.cc
- pure_computation.cc
- barrier.cc
- condition.cc
- simple.cc
- tls_ansi_style.cc
- tls_main_thread_leak.cc
- tls_main_thread_leak_fix.cc
- tls_pthread_style.cc
- TODO.txt
- make_some_random_numbers.cc
- multi_threaded_generation_performance.cc
- rand.cc
- random_r.cc
- rdrand.c
- TODO.txt
- simple.c
- brick.c
- chrt.cc
- clock_gettime.cc
- clock_print_table.cc
- cyclictest.cc
- disable_malloc.cc
- disable_nmi.cc
- for_loop.cc
- nanosleep_precision.cc
- real_time_skeleton.c
- sigqueue.cc
- threads.cc
- timerfd_progress.cc
- TODO.txt
- unreal.cc
- TODO.txt
- typeid_basic.cc
- typeid_inheritance.cc
- few_vol_ctx_switches.c
- hungry.cc
- lots_of_vol_ctx_switches.c
- nice.cc
- print_scheduling_consts.cc
- sched_yield.cc
- setcap.cc
- TODO.txt
- parent_and_child.cc
- shared.h
- shm_client.cc
- shm_server.cc
- api_sigaction.cc
- api_sigaction_call_previous.cc
- api_signal.cc
- api_signal_call_previous.cc
- api_sigquque.cc
- breakout.cc
- busy_wait.cc
- interruption.cc
- lose_signals.cc
- mysleep.cc
- nanosleep_restartable.cc
- nanosleep_restartable_sa.cc
- progress_report_via_signal.cc
- restart_doesnt_help.cc
- signal_table.cc
- signalfd.cc
- simple.cc
- sleep.cc
- stop_task_doing_cpu_work.cc
- TODO.txt
- hello.cc
- infinite.cc
- non_busy_busy.cc
- nanosleep.cc
- internals.cc
- simple.cc
- find_stack_start.cc
- make_stack_executable.cc
- recusion_limit.cc
- stack_up_or_down.cc
- TODO.txt
- stamp.cc
- stamp.gdb
- list.cc
- list_size.cc
- performance_mt.cc
- performance_st.cc
- modification_while_iterating.cc
- vector_no_check.cc
- vector_of_vector.cc
- vector_performance.cc
- map.cc
- stl_and_lambda.cc
- hello_world_using_syscall.cc
- hello_world_using_write.cc
- reboot.cc
- syscall_disassembly.c
- syscalltime.cc
- template_specialization.cc
- carriage.cc
- detect.cc
- dialog.cc
- settobold.cc
- unbuffered.cc
- mktime_time_zone_info.cc
- struct_tm_c99_init.cc
- time_t.cc
- timer_simple.cc
- address_of_main.cc
- feldman_hash_map_performance_mt.cc
- feldman_hash_map_performance_st.cc
- get_driver_version.cc
- simple.cc
- simple.cc
- heap_bug.c
- Makefile
- hello.hh
- main.cc
- Makefile
- world.ah
- app.cc
- Makefile
- myaudit.cc
- README.md
- file.cc
- indent.cfg
- Makefile
- uncrustify.cfg
- uncrustify.fullconfig
- auto_crash.c
- auto_test.c
- crash.c
- crash.h
- crash_msg.h
- crashd.c
- Makefile
- naive.c
- README
- test.c
- foo.c
- Makefile
- a.cc
- a.h
- b.cc
- b.h
- base.cc
- base.h
- main.cc
- Makefile
- README.md
- use1.cc
- use2.cc
- Makefile
- README.md
- run_func_from_dso.cc
- add.c
- add.h
- main.c
- Makefile
- README.md
- main.c
- Makefile
- README.md
- shared_lib.c
- static_lib.c
- data.txt
- main.cc
- Makefile
- README.md
- README.md
- hello.sh
- Makefile
- run_it.c
- Makefile
- memory_error.cc
- README.md
- main.c
- Makefile
- printit.sed
- README.md
- a.cc
- a.h
- a_complete.cc
- b.cc
- b.h
- b_complete.cc
- c.cc
- c.h
- c_complete.cc
- d.cc
- d.h
- d_complete.cc
- main.cc
- Makefile
- README.md
- main.cc
- Makefile
- README.md
- file1.c
- file2.c
- file3.c
- Makefile
- README.md
- main1.cc
- main2.cc
- Makefile
- README.md
- main.cc
- Makefile
- README.md
- TODO.txt
- Makefile
- README.md
- main.cc
- Makefile
- options
- README.md
- main.cc
- Makefile
- README.md
- TODO.txt
- main.c
- Makefile
- plugin.c
- README.md
- myace.hh
- main.cc
- Makefile
- objects.sh
- objects_noprecomp.sh
- objects_precomp.sh
- README.md
- myace.hh
- demo.cc
- Makefile
- README.md
- main.cc
- Makefile
- README.md
- main.cc
- Makefile
- README.md
- something.cc
- something.hh
- main.cc
- Makefile
- my_include.hh
- README.md
- main1.cc
- main2.cc
- Makefile
- README.md
- add.hh
- main.cc
- Makefile
- one.cc
- README.md
- two.cc
- main.c
- Makefile
- README.md
- script.gdb
- main.cc
- Makefile
- README.md
- main.c
- Makefile
- README.md
- main.c
- Makefile
- README.md
- Makefile
- README.md
- f1.cc
- f2.cc
- f3.cc
- Makefile
- big_debuginfo_file.cc
- Makefile
- README.md
- main.c
- Makefile
- README.md
- main.c
- Makefile
- README.md
- main.cc
- Makefile
- README.md
- main.cc
- Makefile
- README.md
- TODO.txt
- goodbye.cc
- hello.cc
- hello.hh
- Makefile
- README.md
- main.cc
- Makefile
- README.md
- a.c
- a.h
- b.c
- b.h
- main.c
- Makefile
- README.md
- lib1.cc
- lib2.cc
- main.cc
- Makefile
- README.md
- main.c
- Makefile
- one.c
- one.h
- README.md
- two.c
- two.h
- file_with_weak_symbol.c
- file_with_weak_symbol.h
- main.c
- Makefile
- README.md
- func.cc
- func.h
- main.cc
- Makefile
- README.md
- bar.cc
- foo.cc
- main.cc
- Makefile
- README.md
- bar.c
- foo.c
- main.c
- Makefile
- README.md
- add.c
- add.h
- Makefile
- README.md
- use.c
- add.c
- add.h
- main.c
- Makefile
- README.md
- add.c
- add.h
- main.c
- Makefile
- README.md
- TODO.txt
- cos.c
- main.c
- Makefile
- README.md
- add.c
- add.h
- main.c
- Makefile
- mis.c
- mis.h
- README.md
- sub.c
- sub.h
- add.c
- add.h
- main.c
- Makefile
- README.md
- add.c
- add.h
- main.c
- Makefile
- README.md
- dmalloc_source_me.sh
- dmalloc_turn_off.sh
- Makefile
- memory_error.cc
- README.md
- flag_data.cpp
- main.cpp
- Makefile
- README.md
- TODO.md
- add.cc
- add.h
- extra.cc
- Makefile
- README.md
- main.c
- Makefile
- rectangle.c
- rectangle.h
- main.c
- Makefile
- rectangle.c
- rectangle.h
- main.c
- Makefile
- rectangle.c
- rectangle.h
- main.c
- Makefile
- rectangle.c
- rectangle.h
- main.c
- Makefile
- README.md
- rectangle.c
- rectangle.h
- TODO.txt
- hello_or_goodbye.c
- Makefile
- cxa_throw_replace_backtrace.c
- main.cc
- Makefile
- README.md
- main.c
- Makefile
- c_run.cc
- Makefile
- README.md
- sample.cshell
- Makefile
- README.md
- TODO.txt
- header_DEBUG.h
- header_RELEASE.h
- main.c
- Makefile
- README.md
- hello.c
- Makefile
- README.md
- main.cc
- Makefile
- README.md
- a.h
- b.h
- b.h
- main.c
- Makefile
- README.md
- main.cc
- README.md
- Makefile
- README.md
- res.c
- res_better.c
- res_old.c
- restrict.c
- restrict_orig.c
- Makefile
- README.md
- simd.c
- bar.cc
- Foo.hh
- Foo.tt
- ins.cc
- Makefile
- README.md
- zoo.cc
- bar.cc
- Foo.hh
- Foo.tt
- ins.cc
- Makefile
- README.md
- zoo.cc
- A.cc
- A.h
- Makefile
- README.md
- use_a.cc
- leak.cc
- Makefile
- README.md
- callme.c
- callme.h
- main.c
- Makefile
- volatile_demo.c
- exercise.md
- solution0.cc
- solution1.cc
- exercise.md
- solution-2-sample.cc
- solution-2.cc
- solution-2a.cc
- solution-2b.cc
- exercise.md
- solution-3.cc
- solution-3a.cc
- solution-3b.cc
- exercise.md
- solution-4-client.cc
- solution-4-server.cc
- solution-4a-client.cc
- solution-4a-server.cc
- exercise.md
- solution-5.cc
- solution-5a-client.cc
- solution-5b.cc
- exercise.md
- solution-6-acceptor.cc
- solution-6-connector.cc
- exercise.md
- solution-7.cc
- solution-7a.cc
- solution-7b.cc
- exercise.md
- solution-8.cc
- exercise.md
- solution-9.cc
- solution-9a.cc
- exercise.md
- mylpr.c
- solution.c
- exercise.md
- solution.c
- exercise.md
- long_long_to_float_failed_improvement.c
- solution.c
- exercise.md
- solution.c
- exercise.md
- ls_simple.c
- solution.c
- exercise.md
- solution.c
- exercise.md
- phonebook_solution_full.c
- solution.c
- client.c
- exercise.md
- solution.c
- exercise.md
- solution.c
- exercise.md
- solution.c
- exercise.md
- process_to_monitor.c
- solution.c
- watchdog.c
- exercise.md
- solution.cc
- circle.cc
- circle.hh
- circle2.cc
- circle2.hh
- circle3.cc
- circle3.hh
- exercise.md
- solution.cc
- exercise.md
- solution.cc
- basic
- basic.cc
- const_on_class_method
- const_on_class_method.cc
- exercise.md
- solution.cc
- exercise.md
- solution.cc
- exercise.md
- solution.cc
- exercise.md
- mymutex.hh
- mythread.hh
- solution.cc
- exercise.md
- solution.cc
- basic
- basic.cc
- exercise.md
- solution.cc
- exercise.md
- solution.cc
- solution_with_input.cc
- solution_with_refs.cc
- exercise.md
- solution.cc
- exercise.md
- solution.cc
- exercise.md
- solution.cc
- exercise.md
- mymutex.hh
- solution.cc
- basic
- basic.cc
- vector.cc
- exercise.md
- solution.cc
- exercise.md
- solution.cc
- exercise.md
- singleton.hh
- singleton_2.hh
- singleton_3.hh
- singleton_4.hh
- solution.cc
- solution_2.cc
- solution_3.cc
- solution_4.cc
- exercise.md
- solution.cc
- basic
- basic.cc
- exercise.md
- solution.cc
- banking.cc
- banking.h
- exercise.md
- solution.cc
- exercise.md
- solution.cc
- exercise.md
- solution.cc
- exercise.md
- solution.c
- solution2.c
- exercise.md
- solution.c
- solution_improved.c
- exercise.md
- mypthreadcond.h
- solution.cc
- exercise.md
- reader.cc
- solution.cc
- exercise.md
- solution.cc
- child.cc
- exercise.md
- solution.cc
- exercise.md
- solution.cc
- exercise.md
- solution.cc
- client.cc
- exercise.md
- solution.cc
- exercise.md
- solution.cc
- solution2.cc
- solution3.cc
- common.hh
- exercise.md
- solution.cc
- waiter.cc
- exercise.md
- solution.c
- exercise.md
- solution.cc
- exercise.md
- solution.cc
- exercise.md
- solution.cc
- uncontrolled.cc
- exercise.md
- solution.cc
- child.cc
- exercise.md
- solution.cc
- exercise.md
- pthread_web_server.http
- solution.c
- exercise.md
- solution.cc
- solution2.cc
- exercise.md
- solution.cc
- exercise.md
- solution.cc
- exercise.md
- solution.cc
- solution_full.cc
- solution_timer.cc
- solution_write.cc
- exercise.md
- solution.cc
- exercise.md
- solution.cc
- exercise.md
- solution.cc
- exercise.md
- solution.cc
- cc.yaml
- exercise.md
- main.c
- Makefile
- mq.c
- mq.h
- main.cc
- Makefile
- README.md
- time.cc
- time.hh
- atomic_utils.h
- CircularPipe.hh
- clock_utils.h
- cpu_set_utils.h
- demangle_utils.hh
- dir_utils.h
- disassembly_utils.h
- epoll_utils.h
- err_utils.h
- firstinclude.h
- kernel_utils.h
- lowlevel_utils.h
- measure.h
- multiproc_utils.h
- network_utils.h
- preprocessor_utils.h
- proc_utils.h
- prog_utils.h
- pthread_utils.h
- random_utils.hh
- sched_utils.h
- security_utils.h
- Selector.hh
- signal_utils.h
- Stat.hh
- timespec_utils.h
- timeval_utils.h
- trace_utils.h
- us_helper.h
- work_utils.h
- .gitignore
- device.inc
- kernel_helper.h
- list.inc
- Makefile.all
- Makefile.tmpl
- mod_bootmem.c
- mod_bug.c
- mod_complete.c
- mod_context.c
- mod_cpu_info.c
- mod_dev_print.c
- mod_div.c
- mod_dma.c
- mod_dump_stack.c
- mod_errno.c
- mod_error.c
- mod_eventfd.c
- mod_fork.c
- mod_get_free_pages.c
- mod_get_user_pages.c
- mod_hello.c
- mod_hrtimer.c
- mod_ioctl.c
- mod_ioctl_close_race.c
- mod_iomem.c
- mod_iserr.c
- mod_kmalloc.c
- mod_kmem_cache.c
- mod_list.c
- mod_mb.c
- mod_mmap.c
- mod_mmap_simple.c
- mod_mmap_to_user.c
- mod_module_name.c
- mod_name.c
- mod_netfilter.c
- mod_null.c
- mod_online_cpus.c
- mod_open_close_release.c
- mod_param.c
- mod_poll.c
- mod_printk.c
- mod_rammap.c.moved
- mod_request_module.c
- mod_spin_lock.c
- mod_syscall_hijack.c
- mod_timer.c
- mod_timing.c
- mod_use_count.c
- mod_version.c
- shared.h
- test_bug.cc
- test_complete.cc
- test_div.cc
- test_errno.cc
- test_eventfd.cc
- test_fork.cc
- test_get_free_pages.cc
- test_get_user_pages.cc
- test_ioctl.cc
- test_ioctl_close_race.cc
- test_kmalloc.cc
- test_list.cc
- test_min.cc
- test_mmap.cc
- test_mmap_parts.cc
- test_mmap_to_user.cc
- test_open_close_release.cc
- test_poll.cc
- test_timing.cc
- test_use_count.cc
- exercise.md
- main.c
- Makefile
- main.c
- Makefile
- exercise.md
- main.c
- Makefile
- exercise.md
- ioctl.h
- main.c
- Makefile
- user_ioctl_sleep.c
- user_ioctl_wakeup.c
- main.c
- Makefile
- main.c
- Makefile
- exercise.md
- main.c
- Makefile
- bottom.cc
- connect.h
- main.c
- Makefile
- README.md
- exercise.md
- linux-module.yaml
- main.c
- Makefile
- exercise.md
- main.c
- Makefile
- exercise.md
- main.c
- Makefile
- api.h
- main1.c
- main2.c
- Makefile
- README.md
- another_file.c
- another_file.h
- main.c
- Makefile
- README.md
- another_file.c
- another_file.h
- another_file2.c
- another_file2.h
- main.c
- main2.c
- Makefile
- README.md
- main.c
- Makefile
- exercise.md
- main.c
- Makefile
- Makefile.shared
- main.c
- Makefile
- exercise.md
- main.c
- Makefile
- main.c
- Makefile
- exercise.md
- main.c
- Makefile
- exercise.md
- main.c
- Makefile
- test_linux_pipe_speed.sh
- test_our_pipe_speed.sh
- test_small.sh
- exercise.md
- main.c
- Makefile
- test_linux_pipe_speed.sh
- test_our_pipe_speed.sh
- test_small.sh
- exercise.md
- ioctl.h
- main.c
- Makefile
- user_ioctl_sleep.c
- user_ioctl_wakeup.c
- user_make_an_ioctl_call.c
- main.c
- Makefile
- README.md
- .gitignore
- Makefile.template
- fail_ioctl.cc
- fail_pthread_create.cc
- astyle.cfg
- file.seq
- license_new.txt
- license_old.txt
- redirector.html
- uncrustify.cfg
- uncrustify.full.cfg
- main.md.tera
- index.html.tera
- README.md.tera
- requirements.thawed.txt.tera
- .aspell.conf
- .aspell.en.prepl
- .aspell.en.pws
- .clang-tidy
- .cpplint
- .editorconfig
- .gitignore
- .gitmodules
- .luacheckrc
- .mypy.ini
- .pylintrc
- .rumdl.toml
- .shellcheckrc
- .spellcheck-words
- .tools.versions
- .veltzer.tag
- .yamllint.yaml
- .zspell-words
- Changelog
- CREDITS
- Dockerfile
- HOWTO
- LICENSE
- Makefile.mk
- PLAN.md
- README.md
- requirements.thawed.txt
- requirements.txt
- rsconstruct.toml
- terms
# Use via CDN
jsDelivrjsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.
Command Glossary
Commands referenced in this DOCs, explained below.
git clone
View Details ▼
git clone
Clone an existing repository.
git clone {{remote_repository_location}} {{path/to/directory}}
Clone an existing repository into a new directory (the default directory is the repository name):
git clone --recursive {{remote_repository_location}}
Clone an existing repository and its submodules:
git clone {{[-n|--no-checkout]}} {{remote_repository_location}}
Clone only the `.git` directory of an existing repository:
python
View Details ▼
python
Python language interpreter.
python
Start a REPL (interactive shell):
python {{path/to/file.py}}
Execute a specific Python file:
python -i {{path/to/file.py}}
Execute a specific Python file and start a REPL:
then
View Details ▼
then
This shell keyword is used in combination with `if` and `elif` to separate branches and branch conditions.
tldr if
View documentation for `if` command:
apt-get
View Details ▼
apt-get
Debian and Ubuntu package management utility.
Search for packages using `apt-cache`.
It is recommended to use `apt` when used interactively in Ubuntu versions 16.04 and later.
sudo apt-get update
Update the list of available packages and versions (it's recommended to run this before other `apt-get` commands):
sudo apt-get install {{package}}
Install a package, or update it to the latest available version:
sudo apt-get remove {{package}}
Remove a package:
yum
View Details ▼
yum
This command is an alias of `dnf` on modern distros.
For older distros (e.g. CentOS 7), `yum` is a distinct program from `dnf`. Some subcommands and options may be different.
tldr dnf
View documentation for the original command:
