Sponsored Content
Top Forums Programming Merge two strings by overlapped region Post 302895979 by DGPickett on Thursday 3rd of April 2014 03:23:52 PM
Old 04-03-2014
Since all you need to reconstruct the last try is the length of str1 you used, it is easy to reconstruct the winner even though you need to go too far to find the limit. You might even use bisection to find the right number! If str1 has 6 bytes, try 3, then 1 or 5, then 0, 2, 4, 6 to find the highest substring that works. Use the shorter length of str1 and str2, as the max overlap is that length and the min is always 0.

I helps in C to know what is going on, at least in a sensible model. Imagine a char* in a 32 bit system is a 4 byte unsigned integer offset from the bottom of memory. Values in the environment are in the heap below free memory. The heap grows up like stalagmites. Subroutine arguments and auto variables are on the stack at the top of memory growing down like stalactites. When you call, automatics may have whatever old ram content in them, so write before you read. When you exit a subroutine, the stack pointer rises above the automatics and passed variables, and the space is reused/overwritten on the next call. When you create a static or global variable, the compiler/linker allocates it on the heap. When you malloc, that is on the heap, too. Since you can free, someone has to keep track of the holes and try to reuse them. Fancy items like structs and such may be allocated on a mod 4 or 8 address, for speed. Some CPUs need aligned variables -- 4 byte integers have to have mod-4 addresses. So, space can be wasted when little and big items are mixed. If you mmap() a file region, address space is allocated, but rather than setting it up to swap to swap space, it is tied to the file. Some people do not like calling everything at the bottom 'the heap'. Dynamically linked code is mmap'd into several places. Itmight have initialized variables and constants with it, which are put in different areas, sometimes because code is on executable pages but data may be not executable, even not writable. If you run a command under truss, tusc or strace, you can see all this going on -- very educational.
This User Gave Thanks to DGPickett For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

stack region

how can i determine that what percentage of stack region is currently is used? (i am using tru64 unix) (2 Replies)
Discussion started by: yakari
2 Replies

2. UNIX for Dummies Questions & Answers

Merge two strings not from files

str1="this oracle data base record" str2="one two three four five" Output: this one oracle two data three base four record five str1 and str2 have the same column but they are not fixed columns. I can do it with "paste" but I do not want to create file everytime the script runs from... (2 Replies)
Discussion started by: buddyme
2 Replies

3. UNIX for Advanced & Expert Users

Best practice - determining what region you are on

Hello all, I have a question about what you think the best practice is to determine what region you are running on when you have a system setup with a DEV/TEST, QA, and PROD regions running the same scripts in all. So, when you run in DEV, you have a different directory structure, and you... (4 Replies)
Discussion started by: Rediranch
4 Replies

4. Shell Programming and Scripting

Region between lines

How can I find the regions between specific lines? I have a file which contains lines like this: chr1 0 17388 0 chr1 17388 17444 1 chr1 17444 17599 2 chr1 17599 17601 1 chr1 17601 569791 0 chr1 569791 569795 1 chr1 569795 569808 2 chr1 569808 569890 3 chr1 569890 570047 4 ... (9 Replies)
Discussion started by: linseyr
9 Replies

5. UNIX for Dummies Questions & Answers

overlapped genomic coordinates

Hi, I would like to know how can I get the ID of a feature if its genomic coordinates overlap the coordinates of another file. Example: Get the 4th column (ID) of this file1: chr1 10 100 gene1 chr2 3000 5000 gene2 chr3 200 1500 gene3 if it overlaps with a feature in this file2: chr2... (1 Reply)
Discussion started by: fadista
1 Replies

6. AIX

Change lv REGION in HDISK1

Dears my rootvg is missed up i can not extend the /opt as soon as i try to extend the Filesystem its give me that there is not enough space . as there any way to change the REGION of the LVs in HDISK1 ? lspv -p hdisk0 hdisk0: PP RANGE STATE REGION LV NAME TYPE ... (8 Replies)
Discussion started by: thecobra151
8 Replies

7. Shell Programming and Scripting

Merge left hand strings mapping to different right hand strings

Hello, I am working on an Urdu to Hindi dictionary which has the following structure: a=b a=c n=d n=q and so on. i.e. Headword separated from gloss by a = I am giving below a live sample بتا=बता بتا=बित्ता بتا=बुत्ता بتان=बतान بتان=बितान بتانا=बिताना I need the following... (3 Replies)
Discussion started by: gimley
3 Replies

8. Programming

Perl script to merge cells in column1 which has same strings, for all sheets in a excel workbook

Perl script to merge cells ---------- Post updated at 12:59 AM ---------- Previous update was at 12:54 AM ---------- I am using below code to read files from a dir and print to excel. open(my $in, '<', $file) or die "Could not open file: $!"; my $rowCount = 0; my $colCount = 0;... (11 Replies)
Discussion started by: Jack_Bruce
11 Replies

9. Shell Programming and Scripting

Merge strings from a file into a template

I am preparing a morphological grammar of Marathi to be placed in open-source. I have two files. The first file called Adverbs contains a whole list of words, one word per line A sample is given below: आधी इतक इतपत उलट एवढ ऐवजी कड कडनं कडल कडील कडून कडे करता करिता खाल (2 Replies)
Discussion started by: gimley
2 Replies

10. Shell Programming and Scripting

Merge strings with ignore case

I have a bi-lingual database of a large number of dictionaries. It so happens that in some a given string is in upper case and in others it is in lower case. An example will illustrate the issue. toll Tax=पथ-कर Toll tax=राहदारी कर toll tax=टोल I want to treat all three instances of toll tax... (3 Replies)
Discussion started by: gimley
3 Replies
MALLOC_TRIM(3)						     Linux Programmer's Manual						    MALLOC_TRIM(3)

NAME
malloc_trim - release free memory from the top of the heap SYNOPSIS
#include <malloc.h> int malloc_trim(size_t pad); DESCRIPTION
The malloc_trim() function attempts to release free memory at the top of the heap (by calling sbrk(2) with a suitable argument). The pad argument specifies the amount of free space to leave untrimmed at the top of the heap. If this argument is 0, only the minimum amount of memory is maintained at the top of the heap (i.e., one page or less). A nonzero argument can be used to maintain some trailing space at the top of the heap in order to allow future allocations to be made without having to extend the heap with sbrk(2). RETURN VALUE
The malloc_trim() function returns 1 if memory was actually released back to the system, or 0 if it was not possible to release any memory. ERRORS
No errors are defined. ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7). +--------------+---------------+---------+ |Interface | Attribute | Value | +--------------+---------------+---------+ |malloc_trim() | Thread safety | MT-Safe | +--------------+---------------+---------+ CONFORMING TO
This function is a GNU extension. NOTES
This function is automatically called by free(3) in certain circumstances; see the discussion of M_TOP_PAD and M_TRIM_THRESHOLD in mal- lopt(3). This function cannot release free memory located at places other than the top of the heap. This function releases only memory in the main arena. SEE ALSO
sbrk(2), malloc(3), mallopt(3) COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/. Linux 2017-09-15 MALLOC_TRIM(3)
All times are GMT -4. The time now is 08:19 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy